reconfigured program into a class - to allow for programmatic use of the module.