using deep validate