updates

made a caching system.