OOP Style, View and logic separation
Merge origin/master