populated page with data, worked out caching logic