diff --git a/util.go b/util.go
index 3c4a320..6b34e14 100644
--- a/util.go
+++ b/util.go
@@ -77,7 +77,7 @@
 
 // Check if File / Directory Exists
 func exists(path string) (bool, error) {
-	_, err := os.Stat(path)
+	_, err := fs.Stat(path)
 	if err == nil {
 		return true, nil
 	}
diff --git a/viper.go b/viper.go
index d800395..ba3c190 100644
--- a/viper.go
+++ b/viper.go
@@ -23,7 +23,6 @@
 	"bytes"
 	"fmt"
 	"io"
-	"io/ioutil"
 	"log"
 	"os"
 	"path/filepath"
@@ -33,15 +32,18 @@
 
 	"github.com/fsnotify/fsnotify"
 	"github.com/mitchellh/mapstructure"
+	"github.com/spf13/afero"
 	"github.com/spf13/cast"
 	jww "github.com/spf13/jwalterweatherman"
 	"github.com/spf13/pflag"
 )
 
 var v *Viper
+var fs afero.Fs
 
 func init() {
 	v = New()
+	fs = afero.NewOsFs()
 }
 
 type remoteConfigFactory interface {
@@ -936,7 +938,7 @@
 		return UnsupportedConfigError(v.getConfigType())
 	}
 
-	file, err := ioutil.ReadFile(v.getConfigFile())
+	file, err := afero.ReadFile(fs, v.getConfigFile())
 	if err != nil {
 		return err
 	}
@@ -954,7 +956,7 @@
 		return UnsupportedConfigError(v.getConfigType())
 	}
 
-	file, err := ioutil.ReadFile(v.getConfigFile())
+	file, err := afero.ReadFile(fs, v.getConfigFile())
 	if err != nil {
 		return err
 	}
