Fix cursors, add tests