still some work to do on this one, but whatever. It's still fun!