Add circular buffer.
Merge branch 'feat/circular_buffer' into develop