add data validation