remove boost::share_ptr dependency