added program name to CLIException; error message logic moved to Impl
classes