diff --git a/ur_driver/CMakeLists.txt b/ur_driver/CMakeLists.txt
index 5eafcb03642981b05137979c3df966be9de18d54..7a7e1057572b52fd5c79623c92a0027ceb0c377c 100644
--- a/ur_driver/CMakeLists.txt
+++ b/ur_driver/CMakeLists.txt
@@ -4,32 +4,10 @@ project(ur_driver)
 ## Find catkin macros and libraries
 ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
 ## is used, also find other catkin packages
-find_package(catkin REQUIRED message_generation)
+find_package(catkin REQUIRED)
 
 catkin_python_setup()
 
-#######################################
-## Declare ROS messages and services ##
-#######################################
-
-## Generate messages in the 'msg' folder
-# add_message_files(
-#   FILES
-#   Message1.msg
-#   Message2.msg
-# )
-
-## Generate services in the 'srv' folder
-add_service_files(
-  FILES
-  URSetPayload.srv
-)
-
-## Generate added messages and services with any dependencies listed here
- generate_messages(
-   DEPENDENCIES
-   #control_msgs#   sensor_msgs
- )
 
 ###################################
 ## catkin specific configuration ##
diff --git a/ur_driver/prog b/ur_driver/prog
index 2ae340bd19a7b633e32786cb5d5e042c8aa4f7eb..18d6671705cf9d1a716434620e121a2b21b90a3f 100644
--- a/ur_driver/prog
+++ b/ur_driver/prog
@@ -220,7 +220,7 @@ def driverProg():
         #send_waypoint_finished(waypoint_id)
         set_servo_setpoint(waypoint_id, q, t)
       elif mtype == MSG_SET_PAYLOAD:
-	    params = socket_read_binary_integer(1)
+        params = socket_read_binary_integer(1)
         if params[0] == 0:
           send_out("Received no parameters for setPayload message")
         end
@@ -240,7 +240,7 @@ def driverProg():
           send_out("Received no parameters for set_out message")
         end
         if params_mult[2] > 0:
-	  set_digital_out(params_mult[1], True)
+      set_digital_out(params_mult[1], True)
         elif params_mult[2] == 0:
           set_digital_out(params_mult[1], False)
         end
@@ -252,7 +252,7 @@ def driverProg():
           send_out("Received no parameters for set_out message")
         end
         if params_mult[2] != 0:
-	  set_flag(params_mult[1], True)
+      set_flag(params_mult[1], True)
         elif params_mult[2] == 0:
           set_flag(params_mult[1], False)
         end
diff --git a/ur_driver/src/ur_driver/driver.py b/ur_driver/src/ur_driver/driver.py
index 7ac06e439ff820c8b56020c5c5c0402ec40779af..21b35ceb7c9a3d12bec38cba2e2136940087d56f 100755
--- a/ur_driver/src/ur_driver/driver.py
+++ b/ur_driver/src/ur_driver/driver.py
@@ -19,9 +19,8 @@ from geometry_msgs.msg import WrenchStamped
 
 from ur_driver.deserialize import RobotState, RobotMode
 
-from ur_msgs.srv import SetIO
+from ur_msgs.srv import SetPayload, SetIO
 from ur_msgs.msg import *
-from ur_driver.srv import *
 
 # renaming classes
 DigitalIn = Digital
@@ -60,6 +59,12 @@ MULT_jointstate = 10000.0
 MULT_time = 1000000.0
 MULT_blend = 1000.0
 
+#Bounds for SetPayload service
+MIN_PAYLOAD = 0.0
+MAX_PAYLOAD = 5.0    #UR5
+#MAX_PAYLOAD = 10.0    #UR10
+
+
 FUN_SET_DIGITAL_OUT = 1
 FUN_SET_FLAG = 2
 FUN_SET_ANALOG_OUT = 3
@@ -448,7 +453,7 @@ class CommanderTCPHandler(SocketServer.BaseRequestHandler):
         with self.socket_lock:
             self.request.send(buf)
         
-	#Experimental set_payload implementation
+    #Experimental set_payload implementation
     def send_payload(self,payload):
         buf = struct.pack('!ii', MSG_SET_PAYLOAD, payload * MULT_payload)
         with self.socket_lock:
@@ -606,14 +611,14 @@ def within_tolerance(a_vec, b_vec, tol_vec):
 class URServiceProvider(object):
     def __init__(self, robot):
         self.robot = robot
-        rospy.Service('ur_driver/setPayload', URSetPayload, self.setPayload)
+        rospy.Service('ur_driver/setPayload', SetPayload, self.setPayload)
 
     def set_robot(self, robot):
         self.robot = robot
 
     def setPayload(self, req):
-        if req.payload < 0 or req.payload > 20.00:
-            print 'ERROR: Payload out of bounce'
+        if req.payload < MIN_PAYLOAD or req.payload > MAX_PAYLOAD:
+            print 'ERROR: Payload out of bounds'
             return False
         
         if self.robot:
diff --git a/ur_msgs/CMakeLists.txt b/ur_msgs/CMakeLists.txt
index 2c7b008f4bc4a2dafa7bac35b4bb0a77c2a85211..323219212ddb3be5c80beda57cd2d4f1f01f117e 100644
--- a/ur_msgs/CMakeLists.txt
+++ b/ur_msgs/CMakeLists.txt
@@ -18,6 +18,7 @@ find_package(catkin REQUIRED COMPONENTS message_generation std_msgs)
 ## Generate services in the 'srv' folder
  add_service_files(
    FILES
+   SetPayload.srv
    SetIO.srv
  )
 
diff --git a/ur_driver/srv/URSetPayload.srv b/ur_msgs/srv/SetPayload.srv
similarity index 100%
rename from ur_driver/srv/URSetPayload.srv
rename to ur_msgs/srv/SetPayload.srv