added neg_ptr & logic in CircBuf