adding multithread