add serial and parallel apply modes