refactoring (part 1)
refactoring (part 2)
refactoring: remove all trash