Still ugly, but passes the tests !