diff --git a/libuvc_camera/CMakeLists.txt b/libuvc_camera/CMakeLists.txt
index dcabdedd1fe9016ce77ef8c04d8dc1432d7f74cf..d8f2b884426403092edab5d2e6d09cdffa2f3c5b 100644
--- a/libuvc_camera/CMakeLists.txt
+++ b/libuvc_camera/CMakeLists.txt
@@ -2,27 +2,38 @@
 cmake_minimum_required(VERSION 2.8.3)
 project(libuvc_camera)
 # Load catkin and all dependencies required for this package
-find_package(catkin REQUIRED COMPONENTS libuvc)
+find_package(catkin REQUIRED COMPONENTS roscpp camera_info_manager driver_base dynamic_reconfigure image_transport nodelet sensor_msgs)
+
+generate_dynamic_reconfigure_options(cfg/UVCCamera.cfg)
 
 #find_package(libuvc REQUIRED)
-catkin_package(DEPENDS roscpp camera_info_manager driver_base dynamic_reconfigure image_transport nodelet sensor_msgs libuvc
-    INCLUDE_DIRS include
-    LIBRARIES ${PROJECT_NAME})
+catkin_package(
+  CATKIN_DEPENDS
+    roscpp
+    camera_info_manager
+    driver_base
+    dynamic_reconfigure
+    image_transport
+    nodelet
+    sensor_msgs
+  LIBRARIES libuvc_camera_nodelet
+  )
 
 include_directories(include ${Boost_INCLUDE_DIR} ${catkin_INCLUDE_DIRS})
 link_directories(${catkin_LINK_DIRS})
 
-find_package(catkin REQUIRED dynamic_reconfigure)
-generate_dynamic_reconfigure_options(cfg/UVCCamera.cfg)
-
 find_package(Boost REQUIRED COMPONENTS thread)
 include_directories(${Boost_INCLUDE_DIRS})
 
-#find_package(libuvc REQUIRED)
-include_directories(${libuvc_INCLUDE_DIRS})
-
 add_executable(camera_node src/main.cpp src/camera_driver.cpp)
-target_link_libraries(camera_node uvc ${Boost_LIBRARIES})
+target_link_libraries(camera_node uvc ${Boost_LIBRARIES} ${catkin_LIBRARIES})
 
 add_library(libuvc_camera_nodelet src/nodelet.cpp src/camera_driver.cpp)
-target_link_libraries(libuvc_camera_nodelet uvc ${Boost_LIBRARIES})
+add_dependencies(libuvc_camera_nodelet ${libuvc_camera_EXPORTED_TARGETS})
+target_link_libraries(libuvc_camera_nodelet uvc ${Boost_LIBRARIES} ${catkin_LIBRARIES})
+
+install(TARGETS camera_node libuvc_camera_nodelet
+  ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
+  LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
+  RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION}
+  )
\ No newline at end of file
diff --git a/libuvc_camera/cfg/UVCCamera.cfg b/libuvc_camera/cfg/UVCCamera.cfg
index d0a751860f0491b040ec76b2dcd35e1b0b4f3e1b..31271bd517578a3ccfcd3983eb76da3a5d08a836 100755
--- a/libuvc_camera/cfg/UVCCamera.cfg
+++ b/libuvc_camera/cfg/UVCCamera.cfg
@@ -4,7 +4,7 @@
 PACKAGE='libuvc_camera'
 import roslib; roslib.load_manifest(PACKAGE)
 
-from dynamic_reconfigure.parameter_generator import *
+from dynamic_reconfigure.parameter_generator_catkin import *
 from driver_base.msg import SensorLevels
 
 gen = ParameterGenerator()
diff --git a/libuvc_camera/package.xml b/libuvc_camera/package.xml
index ddde2eb5c849914b77f34fbb35b7c784360eb3e3..85713edcd62f61a0b216abe765704d113df144df 100644
--- a/libuvc_camera/package.xml
+++ b/libuvc_camera/package.xml
@@ -33,16 +33,30 @@
   <!-- Examples: -->
   <!-- Use build_depend for packages you need at compile time: -->
   <!--   <build_depend>message_generation</build_depend> -->
+  <build_depend>roscpp</build_depend>
+  <build_depend>camera_info_manager</build_depend>
+  <build_depend>driver_base</build_depend>
+  <build_depend>dynamic_reconfigure</build_depend>
   <build_depend>image_transport</build_depend>
+  <build_depend>libuvc</build_depend>
+  <build_depend>nodelet</build_depend>
+  <build_depend>sensor_msgs</build_depend>
   <!-- Use buildtool_depend for build tool packages: -->
   <!--   <buildtool_depend>catkin</buildtool_depend> -->
+  <buildtool_depend>catkin</buildtool_depend>
   <!-- Use run_depend for packages you need at runtime: -->
   <!--   <run_depend>message_runtime</run_depend> -->
-  <run_depend>libuvc</run_depend>
+  <run_depend>roscpp</run_depend>
+  <run_depend>camera_info_manager</run_depend>
+  <run_depend>driver_base</run_depend>
+  <run_depend>dynamic_reconfigure</run_depend>
   <run_depend>image_transport</run_depend>
+  <run_depend>libuvc</run_depend>
+  <run_depend>nodelet</run_depend>
+  <run_depend>sensor_msgs</run_depend>
   <!-- Use test_depend for packages you need only for testing: -->
   <!--   <test_depend>gtest</test_depend> -->
-  <buildtool_depend>catkin</buildtool_depend>
+
 
 
   <!-- The export tag contains other, unspecified, tags -->
@@ -51,6 +65,7 @@
     <!-- <metapackage/> -->
 
     <!-- Other tools can request additional information be placed here -->
+    <nodelet plugin="${prefix}/libuvc_camera_nodelet.xml" />
 
   </export>
 </package>