updated script to work with new code >.<

this is based on the "Functional Core, Imperative Shell" idea that you
only TDD the objects, and you make the script incredibly basic and
simple, and refactor out anything which is complex. normally I probably
wouldn't have a script which wasn't under test to some extent.