http://www.stanford.edu/~ouster/cgi-bin/cs142-fall10/project.php?project=2