diff --git a/asterix-algebra/src/main/java/edu/uci/ics/asterix/optimizer/rules/NestedSubplanToJoinRule.java b/asterix-algebra/src/main/java/edu/uci/ics/asterix/optimizer/rules/NestedSubplanToJoinRule.java
index 376efc4..2e5d358 100644
--- a/asterix-algebra/src/main/java/edu/uci/ics/asterix/optimizer/rules/NestedSubplanToJoinRule.java
+++ b/asterix-algebra/src/main/java/edu/uci/ics/asterix/optimizer/rules/NestedSubplanToJoinRule.java
@@ -37,6 +37,12 @@
 import edu.uci.ics.hyracks.algebricks.core.algebra.util.OperatorPropertiesUtil;
 import edu.uci.ics.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRule;
 
+/**
+ * replace Subplan operators with nested loop joins where the join condition is true, if the Subplan
+ * does not contain free variables (does not have correlations to the input stream).
+ * 
+ * @author yingyib
+ */
 public class NestedSubplanToJoinRule implements IAlgebraicRewriteRule {
 
     @Override
@@ -71,6 +77,7 @@
             }
 
             //we only deals with the first subplan for now
+            //TODO: not clear when there are multiple subplans inside one subplan operator
             ILogicalOperator subplanInput = subplan.getInputs().get(0).getValue();
             List<ILogicalPlan> nestedPlans = subplan.getNestedPlans();
             ILogicalPlan nestedPlan = nestedPlans.get(0);
@@ -95,6 +102,11 @@
         return rewritten;
     }
 
+    /**
+     * rewrite NestedTupleSource operators to EmptyTupleSource operators
+     * 
+     * @param nestedRootRef
+     */
     private void rewriteNestedTupleSource(Mutable<ILogicalOperator> nestedRootRef) {
         AbstractLogicalOperator nestedRoot = (AbstractLogicalOperator) nestedRootRef.getValue();
         if (nestedRoot.getOperatorTag() == LogicalOperatorTag.NESTEDTUPLESOURCE) {
