updated docs on smart pointer