add input validations