func NewConfig(filename string) *Config {
	c := new(Config)
	c.filename = filename
	c.config = make(map[string]map[string]string)
	return c
}
func NewConfig(filename string) *Config {
	c := new(Config)
	c.filename = filename
	c.config = make(map[string]map[string]string)
	return c
}
// NewConfig function cnstructs a new Config struct with filename. You have to
// call Read() function to let it read from the file. Otherwise you will get
// empty string (i.e., "") when you are calling Get() function. Another usage
// is that you call NewConfig() function and then call Add()/Set() function to
// add new key-values to the configuration. Finally you can call Write()
// function to write the new configuration to the file.