Add tests, make them pass