This is a course project for CS169 Fa2013 in Berkeley.