Almost finished OO Design