Rewritten in OOP style
Merge remote-tracking branch 'origin/master'

Conflicts:
	.idea/workspace.xml
Rewritten in OOP style