I just use boost::shared_ptr and call functions and stuff