removed shared pointer interface