Changed applicative code to use operators (<$>, <*>) instead of lift