automated tests, refactoring