register provider to untangle the fucked up register process