diff --git a/lexer.go b/lexer.go
index 698406b..ba18a9b 100644
--- a/lexer.go
+++ b/lexer.go
@@ -311,6 +311,18 @@
 		if l.follow("\\\"") {
 			l.pos += 1
 			growing_string += "\""
+		} else if l.follow("\\n") {
+			l.pos += 1
+			growing_string += "\n"
+		} else if l.follow("\\t") {
+			l.pos += 1
+			growing_string += "\t"
+		} else if l.follow("\\r") {
+			l.pos += 1
+			growing_string += "\r"
+		} else if l.follow("\\\\") {
+			l.pos += 1
+			growing_string += "\\"
 		} else {
 			growing_string += string(l.peek())
 		}
diff --git a/parser_test.go b/parser_test.go
index 1aabc32..70f8051 100644
--- a/parser_test.go
+++ b/parser_test.go
@@ -65,6 +65,28 @@
 	})
 }
 
+func TestStringEscapables(t *testing.T) {
+	tree, err := Load("a = \"a \\n b\"")
+	assertTree(t, tree, err, map[string]interface{}{
+		"a": "a \n b",
+	})
+
+	tree, err = Load("a = \"a \\t b\"")
+	assertTree(t, tree, err, map[string]interface{}{
+		"a": "a \t b",
+	})
+
+	tree, err = Load("a = \"a \\r b\"")
+	assertTree(t, tree, err, map[string]interface{}{
+		"a": "a \r b",
+	})
+
+	tree, err = Load("a = \"a \\\\ b\"")
+	assertTree(t, tree, err, map[string]interface{}{
+		"a": "a \\ b",
+	})
+}
+
 func TestBools(t *testing.T) {
 	tree, err := Load("a = true\nb = false")
 	assertTree(t, tree, err, map[string]interface{}{
@@ -95,12 +117,11 @@
 }
 
 func TestArraySimple(t *testing.T) {
-	fmt.Println("test")
 	tree, err := Load("a = [42, 21, 10]")
 	assertTree(t, tree, err, map[string]interface{}{
 		"a": []int64{int64(42), int64(21), int64(10)},
 	})
-	fmt.Println("blah")
+
 	tree, _ = Load("a = [42, 21, 10,]")
 	assertTree(t, tree, err, map[string]interface{}{
 		"a": []int64{int64(42), int64(21), int64(10)},
@@ -156,7 +177,7 @@
 		"title": "TOML Example",
 		"owner.name": "Tom Preston-Werner",
 		"owner.organization": "GitHub",
-		"owner.bio": "GitHub Cofounder & CEO\nLikes tater tots and bee.",
+		"owner.bio": "GitHub Cofounder & CEO\nLikes tater tots and beer.",
 		"owner.dob": time.Date(1979, time.May, 27, 7, 32, 0, 0, time.UTC),
 		"database.server": "192.168.1.1",
 		"database.ports": []int64{8001, 8001, 8002},
