adaptive extension