almost done. 180 tests