Added extension change routine and fixed promise based behavior