flatten directory
refactoring. extract class
refactoring. move method
refactoring.
refactoring. use method