updated to implement SLists with objects, not moves