writing tests and refactoring
writing tests
refactoring;