updated cacheprovider to support validation and multi cache provider