hashed double linked list implementation