use interface so I can run all the tests against all versions of the code all the time