change from boost::circular_buffer to std::deque