working on asyncronous writing and playback