rename from shared_ptr to SharedPtr