implements simple async client-to-server