added CircularBuffer and LineReader