cool
Cool.  still kind of messy but nicer
refactor slightly, and kill the last version
minor
solidify this a bit
docs
Apply it here too