Maybe I should have written a testing framework first