fabrica and shared_ptr done