tests and refactor.