more tests and DRY test utility