Developed for Cornell CS 4154. Read more
on my blog
.