diff --git a/.travis.yml b/.travis.yml
index b52758e..c24eebf 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,7 +3,8 @@
 
 go:
   - 1.5.4
-  - 1.6.2
+  - 1.6.3
+  - 1.7
   - tip
 
 os:
@@ -13,6 +14,7 @@
 matrix:
   allow_failures:
     - go: tip
+  fast_finish: true
 
 script:
   - go test -v ./...
diff --git a/README.md b/README.md
index da4c956..db20817 100644
--- a/README.md
+++ b/README.md
@@ -201,8 +201,8 @@
 	appFS = afero.NewMemMapFs()
 	// create test files and directories
 	appFS.MkdirAll("src/a", 0755))
-	appFS.WriteFile("src/a/b", []byte("file b"), 0644)
-	appFS.WriteFile("src/c", []byte("file c"), 0644)
+	afero.WriteFile(appFS, "src/a/b", []byte("file b"), 0644)
+	afero.WriteFile(appFS, "src/c", []byte("file c"), 0644)
 	_, err := appFS.Stat("src/c")
 	if os.IsNotExist(err) {
         t.Errorf("file \"%s\" does not exist.\n", name)
diff --git a/mem/file.go b/mem/file.go
index be3673e..9096ff0 100644
--- a/mem/file.go
+++ b/mem/file.go
@@ -107,6 +107,8 @@
 }
 
 func (f *File) Name() string {
+	f.fileData.Lock()
+	defer f.fileData.Unlock()
 	return f.fileData.name
 }
 
diff --git a/memmap.go b/memmap.go
index f577ac8..2e259b8 100644
--- a/memmap.go
+++ b/memmap.go
@@ -66,7 +66,7 @@
 	}
 	parent := m.findParent(f)
 	if parent == nil {
-		log.Fatal("parent of ", f.Name(), " is nil")
+		log.Panic("parent of ", f.Name(), " is nil")
 	}
 	mem.RemoveFromMemDir(parent, f)
 	return nil
diff --git a/util.go b/util.go
index 84030c2..2f44e6a 100644
--- a/util.go
+++ b/util.go
@@ -46,7 +46,7 @@
 		err = fs.MkdirAll(ospath, 0777) // rwx, rw, r
 		if err != nil {
 			if err != os.ErrExist {
-				log.Fatalln(err)
+				log.Panicln(err)
 			}
 		}
 	}
