implemented Applicative for parallel execution