replace bytes.Buffer with io.Reader
diff --git a/viper.go b/viper.go
index 351e30c..946f9c1 100644
--- a/viper.go
+++ b/viper.go
@@ -716,13 +716,20 @@
 	return nil
 }
 
-func ReadBufConfig(buf *bytes.Buffer) error { return v.ReadBufConfig(buf) }
-func (v *Viper) ReadBufConfig(buf *bytes.Buffer) error {
+func ReadConfig(in io.Reader) error { return v.ReadConfig(in) }
+func (v *Viper) ReadConfig(in io.Reader) error {
 	v.config = make(map[string]interface{})
-	v.marshalReader(buf, v.config)
+	v.marshalReader(in, v.config)
 	return nil
 }
 
+// func ReadBufConfig(buf *bytes.Buffer) error { return v.ReadBufConfig(buf) }
+// func (v *Viper) ReadBufConfig(buf *bytes.Buffer) error {
+// 	v.config = make(map[string]interface{})
+// 	v.marshalReader(buf, v.config)
+// 	return nil
+// }
+
 // Attempts to get configuration from a remote source
 // and read it in the remote configuration registry.
 func ReadRemoteConfig() error { return v.ReadRemoteConfig() }
diff --git a/viper_test.go b/viper_test.go
index 85e571c..7ad0245 100644
--- a/viper_test.go
+++ b/viper_test.go
@@ -541,7 +541,7 @@
 func TestReadBufConfig(t *testing.T) {
 	v := New()
 	v.SetConfigType("yaml")
-	v.ReadBufConfig(bytes.NewBuffer(yamlExample))
+	v.ReadConfig(bytes.NewBuffer(yamlExample))
 	t.Log(v.AllKeys())
 
 	assert.True(t, v.InConfig("name"))