A fun project.  To be continued.