Versatile FIFO