more tests passing - need edge cases (collisions)