made morpologcial shared_ptr