Using OOP and wishes of code review by Saicheg