Adds caching to the api calls - begins refactoring validations