add memory-efficient SubList