inputs are validated