added caching and db plugin