move cons objects to enable_shared_from_this