remove shared_from_this() usage