diff --git a/worker/mutation.go b/worker/mutation.go
new file mode 100644
index 0000000000000000000000000000000000000000..01a9b7137adb80c628f5c7f3b583abc225711b80
--- /dev/null
+++ b/worker/mutation.go
@@ -0,0 +1,26 @@
+package worker
+
+import (
+	"bytes"
+	"encoding/gob"
+
+	"github.com/dgraph-io/dgraph/x"
+)
+
+type Mutations struct {
+	Set []x.DirectedEdge
+	Del []x.DirectedEdge
+}
+
+func (m *Mutations) Encode() (data []byte, rerr error) {
+	var b bytes.Buffer
+	enc := gob.NewEncoder(&b)
+	rerr = enc.Encode(*m)
+	return b.Bytes(), rerr
+}
+
+func (m *Mutations) Decode(data []byte) error {
+	r := bytes.NewReader(data)
+	dec := gob.NewDecoder(r)
+	return dec.Decode(m)
+}