implement stack by double linked list