finished deque implementations