change datasture and implementations of fifo to achieve higer performance - when there're millions of calls, even an addition if condition will slower the perf