cursor and user select stuff