diff --git a/chunk/chunk.go b/chunk/chunk.go
index 8d55fe0..36efcce 100644
--- a/chunk/chunk.go
+++ b/chunk/chunk.go
@@ -1,6 +1,5 @@
 package chunk
 
-import "bytes"
 import "io"
 
 type Chunk interface {
@@ -9,27 +8,6 @@
 	Writer() io.Writer
 }
 
-type InMemoryChunk struct {
-	payload *[]byte
-}
-
-func NewEmptyInMemoryChunk(sizeBytes int) Chunk {
-	payload := make([]byte, sizeBytes)
-	return &InMemoryChunk{payload: &payload}
-}
-
-func NewInMemoryChunk(p *[]byte) Chunk {
-	return &InMemoryChunk{payload: p}
-}
-
-func (c *InMemoryChunk) SizeBytes() int {
-	return len(*c.payload)
-}
-
-func (c *InMemoryChunk) ReadSeeker() io.ReadSeeker {
-	return bytes.NewReader(*c.payload)
-}
-
-func (c *InMemoryChunk) Writer() io.Writer {
-	return bytes.NewBuffer(*c.payload)
+type ChunkFactory interface {
+	New() Chunk
 }
