Support IF in IF
Add multithreading