app before refactoring
refactoring round 1