add validate func