working validation and revalidation