update project
add thread worker code and test