add tests, cleanup