TYPES OF SOFTWARE