Finished object oriented programming assignment