buffer is treadted as linked list, and enables pipelining