small applicative refactor