updated tests, incomplete