refactoring before actual work