circular_buffer.c added