New tests, refactor.