OOP2 homework 2.