Migrate to asio