* Initialize the data for the host on run_host:

```
@operating_system_info = []
```

* Add a method to add info to the @operating_system_info:

```ruby
	def add_operating_system_info(os_info)

		@operating_system_info << [os_info[0], os_info[1], os_info[2], os_info[8], os_info[11], os_info[12], os_info[13],
		             os_info[17], os_info[18]+'%', os_info[19]+'%', os_info[20]+'%']
	end

```

* Populate it while parsing the requests:

```ruby
					when /ITSAMOperatingSystem/
						add_operating_system_info(temp_table)
```

* Use the information finally to print when needed (after all the processing), you can use a helper function like this one:


```ruby

def print_operating_system_info

    if @operating_system_info.empty? 
        return
    end

    os_table = Msf::Ui::Console::Table.new(
        Msf::Ui::Console::Table::Style::Default,
        'Header' => "Remote OS Listing",
        'Prefix' => "\n",
        'Postfix' => "\n",
        'Indent' => 1,
        'Columns' =>
            [
                 "Name",
                 "Type",
                 "Version",
                 "TotalMemSize",
                 "Load Avg 1m",
                 "Load Avg 5m",
                 "Load Avg 15m",
                 "CPUs",
                 "CPU User",
                 "CPU Sys",
                 "CPU Idle"
            ])

    @operating_system_info.each { |os| os_table << os }
    vprint_good("#{rhost}:#{rport} - Operating System Info:\n" + os_tables.to_s)
end    
```

The recommendations above apply for all the tables processed like the os_table one. On the other hand, there are just recommendations! code wrote just as guideline,  not tested!!!!