add changes on hw2 OOP