more tests, not completely refactored yet