fix joining bug
add multithreading to syc engine