added multithreading to buffer routing