Continue factoring out validation code