add tests. wip