use process instead of thread