diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2c65da018003e82d9ca00149ad24546ca62f2e94..d745d77372dd09720aa17b4449ae71e2fdd7dae7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -10,7 +10,6 @@ find_package(catkin REQUIRED)
 # ******************************************************************** 
 find_package(catkin REQUIRED COMPONENTS roscpp rospy iri_base_algorithm std_msgs geometry_msgs 
 tf
-std_srvs
 message_generation
 )
 
@@ -36,6 +35,7 @@ find_package(htc_vive_tracker REQUIRED)
 add_service_files(
    FILES
    GetButtonPressed.srv
+   TriggerHapticPulse.srv
 #   Service2.srv
 )
 
diff --git a/include/htc_vive_tracker_alg_node.h b/include/htc_vive_tracker_alg_node.h
index ce2c6a5d77334f81ec84f6f56c3dbe9b54db672a..9d4170702ad59ade0838dea43042abb19fe51152 100644
--- a/include/htc_vive_tracker_alg_node.h
+++ b/include/htc_vive_tracker_alg_node.h
@@ -28,6 +28,7 @@
 #include <iri_base_algorithm/iri_base_algorithm.h>
 #include "htc_vive_tracker_alg.h"
 #include "iri_htc_vive_tracker/GetButtonPressed.h"
+#include "iri_htc_vive_tracker/TriggerHapticPulse.h"
 
 // [publisher subscriber headers]
 #include <geometry_msgs/TransformStamped.h>
@@ -37,7 +38,6 @@
 
 // [action server client headers]
 
-#include <std_srvs/Trigger.h>
 /**
  * \brief IRI ROS Specific Algorithm Class
  *
@@ -79,7 +79,7 @@ class HtcViveTrackerAlgNode : public algorithm_base::IriBaseAlgorithm<HtcViveTra
     bool publish_hmd_;
  
     ros::ServiceServer trigger_pulse_server_;
-    bool trigger_pulse_serverCallback(std_srvs::Trigger::Request &req, std_srvs::Trigger::Response &res);
+    bool trigger_pulse_serverCallback(iri_htc_vive_tracker::TriggerHapticPulse::Request &req, iri_htc_vive_tracker::TriggerHapticPulse::Response &res);
 
     ros::ServiceServer get_button_server_;
     bool get_button_serverCallback(iri_htc_vive_tracker::GetButtonPressed::Request &req, iri_htc_vive_tracker::GetButtonPressed::Response &res);
diff --git a/src/htc_vive_tracker_alg_node.cpp b/src/htc_vive_tracker_alg_node.cpp
index 4e9eea92ccc0423bb20975560f315142838bb735..1d8d7037ee93a7782bad25c1cc2394c6eff2a2cd 100644
--- a/src/htc_vive_tracker_alg_node.cpp
+++ b/src/htc_vive_tracker_alg_node.cpp
@@ -248,9 +248,8 @@ void HtcViveTrackerAlgNode::SetValuesWamToChaperone(const std::string & hand_eye
 	);
 	
 }
-bool HtcViveTrackerAlgNode::trigger_pulse_serverCallback(std_srvs::Trigger::Request &req, std_srvs::Trigger::Response &res){
-	
-	res.success = this->alg_.TriggerHapticPulse(this->device_name_, this->haptic_pulse_strength_);
+bool HtcViveTrackerAlgNode::trigger_pulse_serverCallback(iri_htc_vive_tracker::TriggerHapticPulse::Request &req, iri_htc_vive_tracker::TriggerHapticPulse::Response &res){
+	res.success = this->alg_.TriggerHapticPulse(req.device_name, this->haptic_pulse_strength_);
 	if (!res.success){
 		res.message = "Device "+ this->device_name_ + " not found";	
 	}
diff --git a/srv/TriggerHapticPulse.srv b/srv/TriggerHapticPulse.srv
new file mode 100644
index 0000000000000000000000000000000000000000..ce595fba3d0893e1eca5f30da162c26d61c9c858
--- /dev/null
+++ b/srv/TriggerHapticPulse.srv
@@ -0,0 +1,4 @@
+string device_name
+---
+bool success
+string message