new process, a bit slow, but more reliable