makes the testing a bit more complex