diff --git a/barrier.go b/barrier.go
index 5810851..d3f442f 100644
--- a/barrier.go
+++ b/barrier.go
@@ -10,6 +10,6 @@
 	} else if len(upstream) == 1 {
 		return upstream[0]
 	} else {
-		return NewCompositeBarrier(upstream)
+		return NewCompositeBarrier(upstream...)
 	}
 }
diff --git a/barrier_test.go b/barrier_test.go
index 7ecfd8a..e17d31a 100644
--- a/barrier_test.go
+++ b/barrier_test.go
@@ -13,15 +13,3 @@
 		barrier.Load()
 	}
 }
-
-func BenchmarkBarrierLoadMultiple(b *testing.B) {
-	barrier := NewBarrier(NewCursor(), NewCursor(), NewCursor(), NewCursor())
-
-	iterations := int64(b.N)
-	b.ReportAllocs()
-	b.ResetTimer()
-
-	for i := int64(0); i < iterations; i++ {
-		barrier.Load()
-	}
-}
diff --git a/composite_barrier.go b/composite_barrier.go
index 67baf10..ef863f6 100644
--- a/composite_barrier.go
+++ b/composite_barrier.go
@@ -4,7 +4,7 @@
 	cursors []*Cursor
 }
 
-func NewCompositeBarrier(upstream []*Cursor) *CompositeBarrier {
+func NewCompositeBarrier(upstream ...*Cursor) *CompositeBarrier {
 	cursors := make([]*Cursor, len(upstream))
 	copy(cursors, upstream)
 	return &CompositeBarrier{cursors}
@@ -14,9 +14,9 @@
 	minimum := MaxSequenceValue
 
 	for _, item := range this.cursors {
-		cursor := item.Load()
-		if cursor < minimum {
-			minimum = cursor
+		sequence := item.Load()
+		if sequence < minimum {
+			minimum = sequence
 		}
 	}
 
diff --git a/composite_barrier_test.go b/composite_barrier_test.go
new file mode 100644
index 0000000..3975ec9
--- /dev/null
+++ b/composite_barrier_test.go
@@ -0,0 +1,15 @@
+package disruptor
+
+import "testing"
+
+func BenchmarkCompositeBarrierLoad(b *testing.B) {
+	barrier := NewCompositeBarrier(NewCursor(), NewCursor(), NewCursor(), NewCursor())
+
+	iterations := int64(b.N)
+	b.ReportAllocs()
+	b.ResetTimer()
+
+	for i := int64(0); i < iterations; i++ {
+		barrier.Load()
+	}
+}
