fixed up the order of validation to ensure it's possible