computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from and to transmit data and instructions to a data storage system at least one input device and at least one output device a computer program may include set of instructions that may be used directly or indirectly in a computer to perform a certain activity or bring about a certain result a computer program may be written in any form of programming language including compiled or interpreted languages and it may be deployed in any form including as a stand alone program or as a module component subroutine or other unit suitable for use in a computing environment suitable processors for the execution of a program of instructions may include by way of example both general and special purpose microprocessors and the sole processor or one of multiple processors of any kind of computer generally a processor may receive instructions and data from a read only memory or a random access memory or both such a computer may include a processor for executing instructions and one or more memories for storing instructions and data generally a computer may also include or be operatively coupled to communicate with one or more mass storage devices for storing data files such devices include magnetic disks such as internal hard disks and removable disks magneto optical disks and optical disks storage devices.