added Applicative work