timer, refactoring, object-orientation