This one has been churning around in my head for a while. I was hesitant to post it, and I think it could be cleaner, but whatever.