separete concern of validation