refactoring check validation and fetch