initial changes to make this extension async