add input validatation