heap of changes

Hey Jordan,

I like your general idea here, but found some room for improvement.

I've got a couple more improvements in mind, but this seemed like a good checkpoint.