 
   inspectModelParameters = (model) -> ->
     parameters = model.parameters
-    variables = [
-      Flow.Data.Variable 'label', TString
-      Flow.Data.Variable 'type', TString
-      Flow.Data.Variable 'level', TString
-      Flow.Data.Variable 'actual_value', TObject
-      Flow.Data.Variable 'default_value', TObject
+
+    attrs = [
+      [ 'label', TString ]
+      [ 'type', TString ]
+      [ 'level', TString ]
+      [ 'actual_value', TObject ]
+      [ 'default_value', TObject ]
     ]
 
-    Record = Flow.Data.Record variables
-    rows = new Array parameters.length
-    for parameter, i in parameters
-      rows[i] = row = new Record()
-      for variable in variables
-        row[variable.label] = parameter[variable.label]
-
-    Flow.Data.Table
-      label: 'parameters'
+    vectors = for [ name, type ] in attrs
+      data = new Array parameters.length
+
+      for parameter, i in parameters
+        data[i] = parameter[name]
+
+      switch type
+        when TString
+          window.plot.createFactor name, type, data
+        when TObject
+          window.plot.createList name, data, stringify
+
+    window.plot.createFrame 'parameters', vectors, (sequence parameters.length), null,
       description: "Parameters for model '#{model.key.name}'" #TODO frame key
-      variables: variables
-      rows: rows
-      meta:
-        origin: "getModel #{stringify model.key.name}"
+      origin: "getModel #{stringify model.key.name}"
 
   inspectGBMModelOutput = (model) -> ->
     output = model.output
-    variables = [
-      Flow.Data.Variable 'tree', TNumber
-      Flow.Data.Variable 'mse_train', TObject
-      Flow.Data.Variable 'mse_valid', TObject
+
+    size = output.mse_train.length
+
+    vectors = [
+      window.plot.createVector 'tree', TNumber, (sequence size)
+      window.plot.createVector 'mse_train', TNumber, parseNaNs output.mse_train
+      window.plot.createVector 'mse_valid', TNumber, parseNaNs output.mse_valid
     ]
 
-    Record = Flow.Data.Record variables
-    rows = new Array output.mse_train.length
-    for mse_train, i in output.mse_train
-      rows[i] = new Record i, mse_train, output.mse_valid[i]
-
-    Flow.Data.Table
-      label: 'output'
+    window.plot.createFrame 'output', vectors, (sequence size), null,
       description: "Output for GBM model '#{model.key.name}'"
-      variables: variables
-      rows: rows
-      meta:
-        origin: "getModel #{stringify model.key.name}"
-
+      origin: "getModel #{stringify model.key.name}"
 
   inspectKMeansModelOutput = (model) -> ->
     output = model.output

      [ 'cardinality', TNumber ]
    ]

    dataset = {}
    for [ name, type ] in attrs
      data = dataset[name] = new Array frameColumns.length
      switch name
        when 'min'
          for column, i in frameColumns

          for column, i in frameColumns
            data[i] = column[name]

      switch type
        when TString
          window.plot.createFactor name, type, data
        when TNumber
          window.plot.createVector name, type, data

    window.plot.createFrame tableLabel, vectors, (sequence frameColumns.length), null,
      description: "A list of #{tableLabel} in the H2O Frame."
