Software can be divided into two major categories