more tests and code