Cache

Adds cache and benchmarks