explore using parameterised tests, fixes #6