diff --git a/src/capture_image.h b/src/capture_image.h
index 61c7d54aa42632d1a98ee310a175a1ccf6f20c71..6c8fae652cb2a7a72694704cb5638c8b18a44b2e 100644
--- a/src/capture_image.h
+++ b/src/capture_image.h
@@ -17,7 +17,7 @@ namespace wolf {
 //forward declaration to typedef class pointers
 class CaptureImage;
 typedef std::shared_ptr<CaptureImage> CaptureImagePtr;
-typedef std::shared_ptr<const CaptureImage> CaptureImageConst;
+typedef std::shared_ptr<const CaptureImage> CaptureImageConstPtr;
 typedef std::weak_ptr<CaptureImage> CaptureImageWPtr;    
     
 /**
diff --git a/src/capture_imu.h b/src/capture_imu.h
index e07453c19f56b8e48f294eac1c85f4ab76b8d78c..c4c6a6cd340148f72f42b9270f89b8327fbd1686 100644
--- a/src/capture_imu.h
+++ b/src/capture_imu.h
@@ -5,6 +5,12 @@
 #include "capture_motion.h"
 
 namespace wolf {
+    
+//forward declaration to typedef class pointers
+class CaptureIMU;
+typedef std::shared_ptr<CaptureIMU> CaptureIMUPtr;
+typedef std::shared_ptr<const CaptureIMU> CaptureIMUConstPtr;
+typedef std::weak_ptr<CaptureIMU> CaptureIMUWPtr;      
 
 class CaptureIMU : public CaptureMotion
 {
diff --git a/src/capture_laser_2D.h b/src/capture_laser_2D.h
index 6c0a406a43efe1ef5af170e936dd0f387c923990..c6ac10e07e9f64092b3cba325bd75766487e01d8 100644
--- a/src/capture_laser_2D.h
+++ b/src/capture_laser_2D.h
@@ -16,10 +16,15 @@ class SensorLaser2D;
 
 namespace wolf {
 
+//forward declaration to typedef class pointers
+class CaptureLaser2D;
+typedef std::shared_ptr<CaptureLaser2D> CaptureLaser2DPtr;
+typedef std::shared_ptr<const CaptureLaser2D> CaptureLaser2DConstPtr;
+typedef std::weak_ptr<CaptureLaser2D> CaptureLaser2DWPtr;      
+    
+    
 class CaptureLaser2D : public CaptureBase
 {
-    public:
-        typedef std::shared_ptr<CaptureLaser2D> Ptr;
     public:
         /** \brief Constructor with ranges
          **/
diff --git a/src/capture_motion.h b/src/capture_motion.h
index 40ab0872f891adcd279c8d093e0d98c184a51cbb..bebdccbb713c10dd97610eba1cf12e678aed268b 100644
--- a/src/capture_motion.h
+++ b/src/capture_motion.h
@@ -19,6 +19,13 @@
 #include <utility>
 
 namespace wolf {
+    
+//forward declaration to typedef class pointers
+class CaptureMotion;
+typedef std::shared_ptr<CaptureMotion> CaptureMotionPtr;
+typedef std::shared_ptr<const CaptureMotion> CaptureMotionConst;
+typedef std::weak_ptr<CaptureMotion> CaptureMotionWPtr;      
+    
 
 /** \brief Base class for motion Captures.
  *
diff --git a/src/capture_void.h b/src/capture_void.h
index 1b0602fa1645b6a18d5b86a81c9b71efadf4373a..1d50d88eb3e920f48409397566abec7861e5f839 100644
--- a/src/capture_void.h
+++ b/src/capture_void.h
@@ -7,6 +7,13 @@
 
 namespace wolf {
 
+//forward declaration to typedef class pointers
+class CaptureVoid;
+typedef std::shared_ptr<CaptureVoid> CaptureVoidPtr;
+typedef std::shared_ptr<const CaptureVoid> CaptureVoidConstPtr;
+typedef std::weak_ptr<CaptureVoid> CaptureVoidWPtr;      
+   
+    
 //class CaptureVoid
 class CaptureVoid : public CaptureBase
 {
diff --git a/src/processor_tracker_feature_corner.cpp b/src/processor_tracker_feature_corner.cpp
index 21214b1ea9937629cb1ba97ec51a9ceb8f9c6d31..0753102d1e359f115593304303aa5e32088c3eee 100644
--- a/src/processor_tracker_feature_corner.cpp
+++ b/src/processor_tracker_feature_corner.cpp
@@ -117,7 +117,7 @@ ConstraintBasePtr ProcessorTrackerFeatureCorner::createConstraint(FeatureBasePtr
     return std::make_shared<ConstraintCorner2D>(_feature_ptr, landmark_ptr);
 }
 
-void ProcessorTrackerFeatureCorner::extractCorners(CaptureLaser2D::Ptr _capture_laser_ptr,
+void ProcessorTrackerFeatureCorner::extractCorners(CaptureLaser2DPtr _capture_laser_ptr,
                                                   FeatureBaseList& _corner_list)
 {
     // TODO: sort corners by bearing
diff --git a/src/processor_tracker_feature_corner.h b/src/processor_tracker_feature_corner.h
index a692b6f2c9fa0cd4edbb7d1da1c3a47edccdcd89..6dca1193d2cd5d2df04122769833fb267bcb597a 100644
--- a/src/processor_tracker_feature_corner.h
+++ b/src/processor_tracker_feature_corner.h
@@ -116,7 +116,7 @@ class ProcessorTrackerFeatureCorner : public ProcessorTrackerFeature
 
     private:
 
-        void extractCorners(CaptureLaser2D::Ptr _capture_laser_ptr, FeatureBaseList& _corner_list);
+        void extractCorners(CaptureLaser2DPtr _capture_laser_ptr, FeatureBaseList& _corner_list);
 
 };
 
diff --git a/src/processor_tracker_landmark_corner.cpp b/src/processor_tracker_landmark_corner.cpp
index 72bfc5b5ea6281df3ad240cf385f3e26d06d37f5..b6cbe25e9eeb74836941c91ed245c464bfcab811 100644
--- a/src/processor_tracker_landmark_corner.cpp
+++ b/src/processor_tracker_landmark_corner.cpp
@@ -222,7 +222,7 @@ bool ProcessorTrackerLandmarkCorner::voteForKeyFrame()
     return false;
 }
 
-void ProcessorTrackerLandmarkCorner::extractCorners(CaptureLaser2D::Ptr _capture_laser_ptr,
+void ProcessorTrackerLandmarkCorner::extractCorners(CaptureLaser2DPtr _capture_laser_ptr,
                                                     FeatureBaseList& _corner_list)
 {
     // TODO: sort corners by bearing
diff --git a/src/processor_tracker_landmark_corner.h b/src/processor_tracker_landmark_corner.h
index 02e1860057f4f29916f4b0056ad6ee84027f7af6..66707e666352e00cf9991289dea016b297e6f94c 100644
--- a/src/processor_tracker_landmark_corner.h
+++ b/src/processor_tracker_landmark_corner.h
@@ -162,7 +162,7 @@ class ProcessorTrackerLandmarkCorner : public ProcessorTrackerLandmark
 
     private:
 
-        void extractCorners(CaptureLaser2D::Ptr _capture_laser_ptr, FeatureBaseList& _corner_list);
+        void extractCorners(CaptureLaser2DPtr _capture_laser_ptr, FeatureBaseList& _corner_list);
 
         void expectedFeature(LandmarkBasePtr _landmark_ptr, Eigen::Vector4s& expected_feature_,
                              Eigen::Matrix3s& expected_feature_cov_);
diff --git a/src/processor_tracker_landmark_polyline.cpp b/src/processor_tracker_landmark_polyline.cpp
index f4040138c1d820240efb097085d329ab7b8c39de..030cdd5731462f713eead464403a349f7f88dee3 100644
--- a/src/processor_tracker_landmark_polyline.cpp
+++ b/src/processor_tracker_landmark_polyline.cpp
@@ -314,7 +314,7 @@ bool ProcessorTrackerLandmarkPolyline::voteForKeyFrame()
     return false;
 }
 
-void ProcessorTrackerLandmarkPolyline::extractPolylines(CaptureLaser2D::Ptr _capture_laser_ptr,
+void ProcessorTrackerLandmarkPolyline::extractPolylines(CaptureLaser2DPtr _capture_laser_ptr,
                                                         FeatureBaseList& _polyline_list)
 {
     //std::cout << "ProcessorTrackerLandmarkPolyline::extractPolylines: " << std::endl;
diff --git a/src/processor_tracker_landmark_polyline.h b/src/processor_tracker_landmark_polyline.h
index a8a033105af7dd9c58b10a1f71f428a1921e1ed0..ce42dd936f583219761486c519b72d6905f0055c 100644
--- a/src/processor_tracker_landmark_polyline.h
+++ b/src/processor_tracker_landmark_polyline.h
@@ -185,7 +185,7 @@ class ProcessorTrackerLandmarkPolyline : public ProcessorTrackerLandmark
 
     private:
 
-        void extractPolylines(CaptureLaser2D::Ptr _capture_laser_ptr, FeatureBaseList& _polyline_list);
+        void extractPolylines(CaptureLaser2DPtr _capture_laser_ptr, FeatureBaseList& _polyline_list);
 
         void expectedFeature(LandmarkBasePtr _landmark_ptr, Eigen::MatrixXs& expected_feature_,
                              Eigen::MatrixXs& expected_feature_cov_);