CSE100 Spring 2013 project 4