CS 108 Object Oriented System Design