Tabit project for CS196 Fall 2013