split unit test and design