add validte func,not completed