Adding a lot of registers and logic to implement the fifo.