This has been an ongoing issue in the development of software for such purposes and speech recognition, translation, and artificial intelligence. The aspects of speech which are purely denotative, and sentences which have straightforward referential content ("Cats have four legs.") are the easiest for machines to be programmed to understand. The rules by which we decode phrases that rely on mood or tone to convey expression are more complicated as a computer needs not only to analyze the meaning of the words but to understand the context. For example, take the phrase, "That is just what I needed." It means one thing in the context of speaking to a friend who gave me a nice Christmas present but something totally different if uttered when I get a flat tire on the way to work.