diff --git a/db/model/proxy.go b/db/model/proxy.go
index 79087a3..4b7a59f 100644
--- a/db/model/proxy.go
+++ b/db/model/proxy.go
@@ -82,7 +82,7 @@
 	} else {
 		fullPath = p.Path + path
 	}
-	return p.Node.Update(fullPath, data, strict, txid, nil)
+	return p.Root.Update(fullPath, data, strict, txid, nil)
 }
 
 func (p *Proxy) Add(path string, data interface{}, txid string) interface{} {
@@ -96,7 +96,7 @@
 	} else {
 		fullPath = p.Path + path
 	}
-	return p.Node.Add(fullPath, data, txid, nil)
+	return p.Root.Add(fullPath, data, txid, nil)
 }
 
 func (p *Proxy) Remove(path string, txid string) interface{} {
@@ -110,7 +110,7 @@
 	} else {
 		fullPath = p.Path + path
 	}
-	return p.Node.Remove(fullPath, txid, nil)
+	return p.Root.Remove(fullPath, txid, nil)
 }
 
 func (p *Proxy) openTransaction() *Transaction {
