implemented static caching