Working, with tests.