Added support for shared_ptr
Added support for shared_ptr