CS102 Spring 2013 final project