oh, that last commit was awful... fix it

*Actually* close #181 after realizing all the ways I wasn't
quite right, despite some light testing.

We *need* tests.