Fix inserting values into a tree
diff --git a/toml.go b/toml.go
index 13ef35e..3b6867e 100644
--- a/toml.go
+++ b/toml.go
@@ -171,7 +171,7 @@
 		nextTree, exists := subtree.values[intermediateKey]
 		if !exists {
 			nextTree = newTomlTree()
-			subtree.values[intermediateKey] = &nextTree // add new element here
+			subtree.values[intermediateKey] = nextTree // add new element here
 		}
 		switch node := nextTree.(type) {
 		case *TomlTree:
@@ -185,7 +185,7 @@
 			subtree = node[len(node)-1]
 		}
 	}
-	subtree.values[keys[len(keys)-1]] = value
+	subtree.values[keys[len(keys)-1]] = &tomlValue{value: value}
 }
 
 // createSubTree takes a tree and a key and create the necessary intermediate