code: func LoadFromFile(filename string) (*clientcmdapi.Config, error) {
  	kubeconfigBytes, err := ioutil.ReadFile(filename)
  	if err != nil {
  		return nil, err
  	}
  	config, err := Load(kubeconfigBytes)
  	if err != nil {
  		return nil, err
  	}
  	glog.V(3).Infoln("Config loaded from file", filename)
  
  	// set LocationOfOrigin on every Cluster, User, and Context
  	for key, obj := range config.AuthInfos {
  		obj.LocationOfOrigin = filename
  		config.AuthInfos[key] = obj
  	}
  	for key, obj := range config.Clusters {
  		obj.LocationOfOrigin = filename
  		config.Clusters[key] = obj
  	}
  	for key, obj := range config.Contexts {
  		obj.LocationOfOrigin = filename
  		config.Contexts[key] = obj
  	}
  
  	if config.AuthInfos == nil {
  		config.AuthInfos = map[string]*clientcmdapi.AuthInfo{}
  	}
  	if config.Clusters == nil {
  		config.Clusters = map[string]*clientcmdapi.Cluster{}
  	}
  	if config.Contexts == nil {
  		config.Contexts = map[string]*clientcmdapi.Context{}
  	}
  
  	return config, nil
  }
docs: // LoadFromFile takes a filename and deserializes the contents into Config object