split out validate