datapath with working multithreading