refactoring: extracting property testing