diff --git a/firewire_nodelet_plugin.xml b/firewire_nodelet_plugin.xml
index 78eb24b71833f00a395acb92b9ed1d01e40492ad..90cb46ea380d61741b704a7976a64f07cf26b48f 100755
--- a/firewire_nodelet_plugin.xml
+++ b/firewire_nodelet_plugin.xml
@@ -1,5 +1,5 @@
-<library path="lib/libfirewire_camera_driver_nodelet">
-  <class name="iri_firewire_camera/iri_firewire_nodelet" type="FirewireCameraNodelet" base_class_type="nodelet::Nodelet">
+<library path="lib/libiri_firewire_camera_nodelet">
+  <class name="iri_firewire_camera/FirewireCameraNodelet" type="FirewireCameraNodelet" base_class_type="nodelet::Nodelet">
     <description>
       Nodelete for the iri firewire camera module
     </description>
diff --git a/include/camera_common.h b/include/camera_common.h
index aa0e6c1deb5442e16a58d4f64317f1649ea840fc..39264b08b823befdc0295b5e0a625dd275159737 100755
--- a/include/camera_common.h
+++ b/include/camera_common.h
@@ -27,4 +27,12 @@ typedef struct
   sensor_msgs::CameraInfo CameraInfo_msg_;
 }TROSCamera;
 
+typedef struct
+{
+  image_transport::ImageTransport *it;
+  image_transport::CameraPublisher camera_image_publisher_;
+  sensor_msgs::ImagePtr Image_msg_;
+  sensor_msgs::CameraInfoPtr CameraInfo_msg_;
+}TROSCameraPtr;
+
 #endif
diff --git a/launch/firewire.launch b/launch/firewire.launch
new file mode 100755
index 0000000000000000000000000000000000000000..9490be351f3805de0aaf4b4e9f347b130e745bea
--- /dev/null
+++ b/launch/firewire.launch
@@ -0,0 +1,65 @@
+<launch>
+
+  <!-- bumblebee -->
+  <!-- published topics: /sensors/head_right/image_raw -->
+  <!-- subscribed topics: -->
+  <!-- service clients: -->
+  <!-- service servers: -->
+  <!-- action clients: -->
+  <!-- action servers: -->
+  <node pkg ="iri_firewire_camera"
+        type="iri_firewire_camera"
+        name="bumblebee">
+    <remap from="/bumblebee/camera_image"
+             to="/sensors/head_right/image_raw"/>
+    <param name="Camera_node"  value="0" />
+    <param name="frame_id"     value="bumblebee_right" type="string" />
+    <!-- set calibration file -->
+    <param name="cal_file"     value="file://$(find iri_firewire_camera)/calibration/$(env ROBOT)_right_camera.yaml" type="string" />
+    <param name="ISO_speed"    value="400" />
+    <param name="Framerate"    value="7.5" />
+    <param name="Color_coding" value="3" />
+    <param name="Image_width"  value="1024" />
+    <param name="Image_height" value="768" />
+    <param name="~tf_prefix"   value="/$(env ROBOT)" type="str"/>
+  </node>
+
+  <!-- published topics: /processed_image -->
+  <!-- subscribed topics: /sensors/head_right/image_raw -->
+  <!--                    /sensors/head_right/camera_info -->
+  <!-- service clients: -->
+  <!-- service servers: -->
+  <!-- action clients: -->
+  <!-- action servers: -->
+  <!-- image crop -->
+  <node pkg ="nodelet"
+        type="nodelet"
+        name="image_proc_dec"
+        args="standalone image_proc/crop_decimate">
+    <param name="decimation_x" value="2" />
+    <param name="decimation_y" value="2" />
+    <remap from="/camera/image_raw"
+             to="/sensors/head_right/image_raw"/>
+    <remap from="/camera/camera_info"
+             to="/sensors/head_right/camera_info"/>
+  </node>
+
+  <!-- image rectification -->
+  <node pkg ="image_proc"
+        type="image_proc"
+        name="image_proc_rect">
+    <remap from="/image_raw"
+             to="/camera_out/image_raw" />
+    <remap from="/camera_info"
+             to="/camera_out/camera_info" />
+    <remap from="/image_rect_color"
+             to="/processed_image" />
+  </node>
+
+  <node pkg="image_view"
+        type="image_view"
+        name="image_view" >
+    <remap from="/image" to="/processed_image"/>
+  </node>
+
+</launch>
diff --git a/launch/firewire_nodelet.launch b/launch/firewire_nodelet.launch
index 94dc81c257c764b2ad7f0fc059c94e290939f8da..96d17b417ec7c804dc9669f04828cf9af3595c4f 100755
--- a/launch/firewire_nodelet.launch
+++ b/launch/firewire_nodelet.launch
@@ -2,7 +2,7 @@
   <node pkg="nodelet" type="nodelet" name="standalone_nodelet"  args="manager" output="screen">
     <param name="Camera_node"  value="0" />
     <param name="frame_id"     value="bumblebee_frame" type="string" />
-    <param name="cal_file"     value="file://$(find iri_firewire_camera)/calibration/bumblebee_right.yml" type="string" />
+    <param name="cal_file"     value="file://$(find iri_firewire_camera)/calibration/$(env ROBOT)_right_camera.yaml" type="string" />
     <param name="ISO_speed"    value="400" />
     <param name="Framerate"    value="7.5" />
     <param name="Color_coding" value="3" />
@@ -22,7 +22,7 @@
   </node>
 
   <!-- firewire camera driver -->
-  <node pkg="nodelet" type="nodelet" name="iri_firewire_nodelet" args="load iri_firewire_camera/iri_firewire_nodelet standalone_nodelet" output="screen">
+  <node pkg="nodelet" type="nodelet" name="iri_firewire_nodelet" args="load iri_firewire_camera/FirewireCameraNodelet standalone_nodelet" output="screen">
   </node>
 
   <!-- image decimation -->
diff --git a/package.xml b/package.xml
index c82d03db414a7f001542b53c40bc8a938b2d594b..99c438411984c5328fdb2eb52ccb8bbbd376e77f 100644
--- a/package.xml
+++ b/package.xml
@@ -61,5 +61,6 @@
   <!-- The export tag contains other, unspecified, tags -->
   <export>
     <!-- Other tools can request additional information be placed here -->
+    <nodelet plugin="${prefix}/firewire_nodelet_plugin.xml" />
   </export>
 </package>
diff --git a/src/firewire_camera_driver_nodelet.cpp b/src/firewire_camera_driver_nodelet.cpp
index f031363448361a168c369fefc12796d28c270ded..1e0adac5f487d59c3b6560f7c827698803db9315 100755
--- a/src/firewire_camera_driver_nodelet.cpp
+++ b/src/firewire_camera_driver_nodelet.cpp
@@ -237,5 +237,5 @@ FirewireCameraNodelet::~FirewireCameraNodelet()
 }
 
 // parameters are: package, class name, class type, base class type
-PLUGINLIB_DECLARE_CLASS(iri_firewire_camera, iri_firewire_nodelet, FirewireCameraNodelet, nodelet::Nodelet);
+PLUGINLIB_DECLARE_CLASS(iri_firewire_camera, FirewireCameraNodelet, FirewireCameraNodelet, nodelet::Nodelet);