lab2 oop