Code cleaning, improve structure
- Divided controller into seperate classes 
regarding to functionality. Reduced controller 
by ~400 lines of code