fifo
some list manipulation