updated keyprovider