A project for Object-Oriented Programming Class, ITB, 2014.