Added top level controller provider protocol