added caching and app manifests