Converted to MultiThreading