some refactoring and more initial async_client files