decouple tests from implementation