fix gard, add verify