use Boost.Asio instead of a non-boost version