finished this thing.

not entirely practical, but it gets the job done