add dlist but left a [bug] to fix