stack now uses dlist