List implementation with cursors