a persistent circular buffer