major refactor cleanup. Ditch singlylinkedlist as uninteresting