initial circular buffer (read buffer) implementation