I made this in my CompSci class. Might as well put it on Github.