added async writer with a simple unit test