OOP lab2 (task1, task 2)