added some additional validation for ES and IO