more parallel funcs