output to csv
note
remove coroutine
fn