Lookup caching

To speed up the lookup process, a LRU cache has been implemented.

Closes #13