diff --git a/graph/src/main/scala/org/apache/spark/graph/GraphLab.scala b/graph/src/main/scala/org/apache/spark/graph/GraphLab.scala
index 2f2a624592de12e41fdc2fd4b82b91b8ec87f3fb..b8503ab7fdb6c266161f31b3308bf7fcd554c1f8 100644
--- a/graph/src/main/scala/org/apache/spark/graph/GraphLab.scala
+++ b/graph/src/main/scala/org/apache/spark/graph/GraphLab.scala
@@ -33,14 +33,14 @@ object GraphLab {
    * @tparam A The type accumulated during the gather phase
    * @return the resulting graph after the algorithm converges
    */
-  def iterate[VD: ClassManifest, ED: ClassManifest, A: ClassManifest](graph: Graph[VD, ED])(
-    gatherFunc: (Vid, EdgeTriplet[VD, ED]) => A,
-    mergeFunc: (A, A) => A,
-    applyFunc: (Vid, VD, Option[A]) => VD,
-    scatterFunc: (Vid, EdgeTriplet[VD, ED]) => Boolean,
-    numIter: Int = Integer.MAX_VALUE,
-    gatherDirection: EdgeDirection = EdgeDirection.In,
-    scatterDirection: EdgeDirection = EdgeDirection.Out): Graph[VD, ED] = {
+  def apply[VD: ClassManifest, ED: ClassManifest, A: ClassManifest]
+    (graph: Graph[VD, ED], numIter: Int,  
+     gatherDirection: EdgeDirection = EdgeDirection.In,
+     scatterDirection: EdgeDirection = EdgeDirection.Out)
+    (gatherFunc: (Vid, EdgeTriplet[VD, ED]) => A,
+     mergeFunc: (A, A) => A,
+     applyFunc: (Vid, VD, Option[A]) => VD,
+     scatterFunc: (Vid, EdgeTriplet[VD, ED]) => Boolean): Graph[VD, ED] = {
 
 
     // Add an active attribute to all vertices to track convergence.