rename RingBuffer::delete_first() to delete)tail() to reflect what it actually does