no loop and multithreading