Add regression tests
Fix implementation (and test :>)
Use table-driven tests
Add test for cache limit
Refactor cache implementation
Merge branch 'feature/cachingfix' into develop