removed shared_ptr