Initial creation

This was a lot of fun! I'm sure there's a lot of room for improvement. Let me know if you have any questions or comments, @chadwpry