add deque implementation