diff --git a/a3.r b/a3.r
index 61bbdd43cfe3de4704ecc90f235c8c1fd425c0f7..7e31fd0a51250a623e45864145fb348d5cef6f0b 100644
--- a/a3.r
+++ b/a3.r
@@ -27,6 +27,7 @@ apriori <- function(itemsets, min_support, display_candidates=TRUE, display_freq
     # Initialize variables.
     level = 0
     candidate_itemsets <- NULL
+    candidate_names <- NULL
     frequent_itemsets <- NULL
 
     # Loop until no more frequent itemsets are found for current level.
@@ -40,11 +41,13 @@ apriori <- function(itemsets, min_support, display_candidates=TRUE, display_freq
             # First level. Initialize frequency candidacy.
             ret_val <- apriori_initialize_candidates(itemsets, level)
             candidate_itemsets[[level]] <- ret_val[[1]]
+            candidate_names[[level]] <- ret_val[[2]]
 
             # Get true frequent itemset from candidates.
             frequent_itemsets <- list(apriori_determine_freq_sets(ret_val[[1]], ret_val[[2]], min_support))
         } else {
             # Not first level.
+            ret_val <- apriori_gen_candidates(frequent_itemsets[[level - 1]], level, debug=TRUE)
         }
 
         catn('Freq Itemsets:')
@@ -75,16 +78,16 @@ apriori <- function(itemsets, min_support, display_candidates=TRUE, display_freq
 apriori_initialize_candidates <- function(initial_set, level, debug=FALSE) {
     if (debug) {
         catn('')
-        catn('Finding candidates.')
+        catn('Finding initial candidates.')
     }
 
     candidates <- NULL
     cand_names <- NULL
 
-    # Loop through our previous frequent sets.
+    # Loop through our initial sets.
     for (set in initial_set) {
 
-        # Loop through each item in frequent sets.
+        # Loop through each item in initial sets.
         for (item_index in 1:length(set)) {
             item <- set[item_index]
 
@@ -129,8 +132,24 @@ apriori_initialize_candidates <- function(initial_set, level, debug=FALSE) {
 ###
  #
  ##
-apriori_gen_candidates <- function() {
+apriori_gen_candidates <- function(prev_itemsets, level, debug=FALSE) {
+    if (debug) {
+        catn('')
+        catn(paste('Finding level', level, 'candidate itemsets.'))
+    }
+
+    # Get prev names.
+    prev_names <- names(prev_itemsets)
+    print(prev_names)
 
+    # Loop through our previous frequent sets.
+    for (prev_set in prev_itemsets) {
+
+        # Loop through each item in previous sets.
+        for (item_index in 1:length(prev_set)) {
+            catn(paste('item', prev_set[item_index]))
+        }
+    }
 }