Changes to the flow around the GKProvider to improve reuasbility