split into several test cases