add more tests, start adding async methods