component process function now async