Fill buffer dynamically, track read out and write in addresses, fifo