Caching pages

Implements issue #63