generalize cursor construction, add updateIn to Cursor