Adding fifo implementation and test, not yet working. Need polishing.