rewrote tests
rewrote to pass tests