added progress wheel with multithreading, and dontknow func