recursive single&multithread