code: func Create(data interface{}) *Tabulate {
  	t := &Tabulate{FloatFormat: 'f', MaxSize: 30}
  
  	switch v := data.(type) {
  	case [][]string:
  		t.Data = createFromString(data.([][]string))
  	case [][]int32:
  		t.Data = createFromInt32(data.([][]int32))
  	case [][]int64:
  		t.Data = createFromInt64(data.([][]int64))
  	case [][]int:
  		t.Data = createFromInt(data.([][]int))
  	case [][]bool:
  		t.Data = createFromBool(data.([][]bool))
  	case [][]float64:
  		t.Data = createFromFloat64(data.([][]float64), t.FloatFormat)
  	case [][]interface{}:
  		t.Data = createFromMixed(data.([][]interface{}), t.FloatFormat)
  	case []string:
  		t.Data = createFromString([][]string{data.([]string)})
  	case []interface{}:
  		t.Data = createFromMixed([][]interface{}{data.([]interface{})}, t.FloatFormat)
  	case map[string][]interface{}:
  		t.Headers, t.Data = createFromMapMixed(data.(map[string][]interface{}), t.FloatFormat)
  	case map[string][]string:
  		t.Headers, t.Data = createFromMapString(data.(map[string][]string))
  	default:
  		fmt.Println(v)
  	}
  
  	return t
  }
docs: // Create a new Tabulate Object
  // Accepts 2D String Array, 2D Int Array, 2D Int64 Array,
  // 2D Bool Array, 2D Float64 Array, 2D interface{} Array,
  // Map map[strig]string, Map map[string]interface{},