Add 40 tests and make them pass