Not all inventions are patentable. An invention must fall within one of four categories provided in the U.S. patent laws. These categories include: machines, articles of manufacture, composition of matter and processes. Also patentable are any improvements made upon these categories. As a result, laws of nature, mathematical formulas, and abstract ideas may not, alone, be the subject of a patent. Government views of the patentability of computer software are ever-changing; the current trend regarding computer software favors its patentability in specific situations.