use connect instead of async_connect