some fixes concerning boost::asio and shared pointers but still far away from final