diff --git a/plist/main.go b/plist/main.go
index f118cfe6c7c2abc9a2b4f36a0caa5180bf2e86cd..3c4aacdd3a449e09624638d27913c9a02ebeeac2 100644
--- a/plist/main.go
+++ b/plist/main.go
@@ -58,12 +58,15 @@ func main() {
 
 	batch := new(leveldb.Batch)
 	b := flatbuffers.NewBuilder(0)
-	oi := b.CreateString("mrjn is a smart kid")
-	on := b.CreateString("His name is jain")
-	types.UidStart(b)
-	types.UidAddId(b, oi)
-	types.UidAddName(b, on)
-	oe := types.UidEnd(b)
+
+	types.PostingListStartIdsVector(b, 2)
+	b.PlaceUint64(5)
+	b.PlaceUint64(2)
+	vec := b.EndVector(2)
+
+	types.PostingListStart(b)
+	types.PostingListAddIds(b, vec)
+	oe := types.PostingListEnd(b)
 	b.Finish(oe)
 	fmt.Println("Value byte size:", len(b.Bytes))
 
@@ -92,9 +95,11 @@ func main() {
 	}
 	fmt.Println("Value byte size from Leveldb:", len(val))
 
-	uid := types.GetRootAsUid(val, 0)
-	fmt.Println("buffer.uid id =", string(uid.Id()))
-	fmt.Println("buffer.uid name =", string(uid.Name()))
+	plist := types.GetRootAsPostingList(val, 0)
+	fmt.Println("buffer.uid id length =", plist.IdsLength())
+	for i := 0; i < plist.IdsLength(); i++ {
+		fmt.Printf("[%d] [%d]\n", i, plist.Ids(i))
+	}
 	// http.HandleFunc("/add", addTriple)
 	// http.ListenAndServe(":8080", nil)
 
diff --git a/types.fbs b/types.fbs
index d25c25bbc4f23cefb030733296b199f9f27f5c11..53cdaa1bf9f4b4eb5ec6baa5dedd10bf43df4af2 100644
--- a/types.fbs
+++ b/types.fbs
@@ -1,8 +1,7 @@
 namespace types;
 
-table Uid {
-	id:string;
-	name:string;
+table PostingList {
+	ids:[ulong];
 }
 
-root_type Uid;
+root_type PostingList;
diff --git a/types/PostingList.go b/types/PostingList.go
new file mode 100644
index 0000000000000000000000000000000000000000..ffe2063b44f8d6a9d3d6c7ec5f6c1e7ce6ee6e3a
--- /dev/null
+++ b/types/PostingList.go
@@ -0,0 +1,45 @@
+// automatically generated, do not modify
+
+package types
+
+import (
+	flatbuffers "github.com/google/flatbuffers/go"
+)
+type PostingList struct {
+	_tab flatbuffers.Table
+}
+
+func GetRootAsPostingList(buf []byte, offset flatbuffers.UOffsetT) *PostingList {
+	n := flatbuffers.GetUOffsetT(buf[offset:])
+	x := &PostingList{}
+	x.Init(buf, n + offset)
+	return x
+}
+
+func (rcv *PostingList) Init(buf []byte, i flatbuffers.UOffsetT) {
+	rcv._tab.Bytes = buf
+	rcv._tab.Pos = i
+}
+
+func (rcv *PostingList) Ids(j int) uint64 {
+	o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
+	if o != 0 {
+		a := rcv._tab.Vector(o)
+		return rcv._tab.GetUint64(a + flatbuffers.UOffsetT(j * 8))
+	}
+	return 0
+}
+
+func (rcv *PostingList) IdsLength() int {
+	o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
+	if o != 0 {
+		return rcv._tab.VectorLen(o)
+	}
+	return 0
+}
+
+func PostingListStart(builder *flatbuffers.Builder) { builder.StartObject(1) }
+func PostingListAddIds(builder *flatbuffers.Builder, ids flatbuffers.UOffsetT) { builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(ids), 0) }
+func PostingListStartIdsVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT { return builder.StartVector(8, numElems, 8)
+}
+func PostingListEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { return builder.EndObject() }
diff --git a/types/Uid.go b/types/Uid.go
deleted file mode 100644
index 4695ecc3b26f813f9b798fa2be572161bafb4f6b..0000000000000000000000000000000000000000
--- a/types/Uid.go
+++ /dev/null
@@ -1,43 +0,0 @@
-// automatically generated, do not modify
-
-package types
-
-import (
-	flatbuffers "github.com/google/flatbuffers/go"
-)
-type Uid struct {
-	_tab flatbuffers.Table
-}
-
-func GetRootAsUid(buf []byte, offset flatbuffers.UOffsetT) *Uid {
-	n := flatbuffers.GetUOffsetT(buf[offset:])
-	x := &Uid{}
-	x.Init(buf, n + offset)
-	return x
-}
-
-func (rcv *Uid) Init(buf []byte, i flatbuffers.UOffsetT) {
-	rcv._tab.Bytes = buf
-	rcv._tab.Pos = i
-}
-
-func (rcv *Uid) Id() []byte {
-	o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
-	if o != 0 {
-		return rcv._tab.ByteVector(o + rcv._tab.Pos)
-	}
-	return nil
-}
-
-func (rcv *Uid) Name() []byte {
-	o := flatbuffers.UOffsetT(rcv._tab.Offset(6))
-	if o != 0 {
-		return rcv._tab.ByteVector(o + rcv._tab.Pos)
-	}
-	return nil
-}
-
-func UidStart(builder *flatbuffers.Builder) { builder.StartObject(2) }
-func UidAddId(builder *flatbuffers.Builder, id flatbuffers.UOffsetT) { builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(id), 0) }
-func UidAddName(builder *flatbuffers.Builder, name flatbuffers.UOffsetT) { builder.PrependUOffsetTSlot(1, flatbuffers.UOffsetT(name), 0) }
-func UidEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { return builder.EndObject() }