Added cache system to the providers, also changed some to collection