new validations, new factory file