validation functions and recovery start