Thanks for writing this Rick. You might also mention that this approach is equally good for sub-sublists, or even deeper, since the ListGetSubItem and ListSetSubItem subroutines both accept a matrix as the 'position' parameter giving the item number at each depth.