add validation checks