back to the basics with a deque