Use boost::shared_ptr<> instead of std's for backward compatibility