start writing tests, rename async, left TODOs
include tests