diff --git a/example/main.go b/example/main.go
index 0fea047..3c97749 100644
--- a/example/main.go
+++ b/example/main.go
@@ -38,12 +38,8 @@
 	sequence := disruptor.InitialSequenceValue
 	writer := disruptor.NewWriter(written, upstream, BufferSize)
 	for sequence <= Iterations {
-		sequence = writer.Reserve(Reservations)
-
-		// for i := sequence + ReservationMask; i <= sequence; i++ {
-		// 	ringBuffer[i&BufferMask] = i
-		// }
-
+		sequence += Reservations
+		writer.Reserve(sequence)
 		ringBuffer[sequence&BufferMask] = sequence
 		writer.Commit(sequence)
 	}
diff --git a/writer.go b/writer.go
index da41bb2..4ed7dae 100644
--- a/writer.go
+++ b/writer.go
@@ -27,13 +27,10 @@
 	}
 }
 
-func (this *Writer) Reserve(count int64) int64 {
-	this.previous = this.previous + count
-	for this.previous-this.capacity > this.gate {
+func (this *Writer) Reserve(next int64) {
+	for next-this.capacity > this.gate {
 		this.gate = this.upstream.Read(0)
 	}
-
-	return this.previous
 }
 
 func (this *Writer) Commit(sequence int64) {
diff --git a/writer_test.go b/writer_test.go
index 0a2b278..bc0d8dc 100644
--- a/writer_test.go
+++ b/writer_test.go
@@ -11,7 +11,7 @@
 	b.ResetTimer()
 
 	for i := int64(0); i < iterations; i++ {
-		writer.Reserve(1)
+		writer.Reserve(i)
 		read.sequence = i
 	}
 }
