This is the third OO homework