final project for CS74.42a fall 2013 semester