introduce cursor methods