extend cursor with states