WIP caching
Solved with caching to reduce runtime by 70%