recovered validation functionality