each process now has its own loop