development and refactoring