added more tests, added Reverse