finally...passed 4 tests