perhaps we can abstract some of the setup out of test.