more tests, better separation