circular buffer is now a member, not a static var