boost::shared_ptr confusion...