add iterator cache