third commit with multithreading
third commit with multithreading