diff --git a/bbcli/endpoints.py b/bbcli/endpoints.py
index e4d5bbea218f6d89524579583ce5142c8ee26c22..0a43efc85f36b273483c2e6936609cfe6b50eea7 100644
--- a/bbcli/endpoints.py
+++ b/bbcli/endpoints.py
@@ -12,6 +12,7 @@ from anytree import Node as Nd, RenderTree
 
 from bbcli import check_response
 from bbcli.entities.Node import Node
+from bbcli.entities.Node2 import Node2
 from bbcli.utils.URL_builder import URLBuilder
 
 url_builder = URLBuilder()
@@ -99,7 +100,7 @@ def get_children(session, worklist, url, acc, count: int = 0):
     count = count + 1
     key = 'hasChildren'
     if len(worklist) == 0:
-        return acc
+        return acc 
     else:
         node = worklist.pop()
         id = node.data['id']
@@ -122,9 +123,11 @@ def get_children(session, worklist, url, acc, count: int = 0):
                     acc.append(child)
             return get_children(session, worklist, url, acc)
 
-def traverse_assignments(session, worklist, url, acc, count: int = 0):
+def get_children2(session, worklist, url, acc, count: int = 0):
+    count = count + 1
+    key = 'hasChildren'
     if len(worklist) == 0:
-        return acc
+        return 
     else:
         node = worklist.pop()
         id = node.data['id']
@@ -135,27 +138,32 @@ def traverse_assignments(session, worklist, url, acc, count: int = 0):
             return acc
         else:
             children = response.json()['results']
+            parent = Node2(node)
             for i in range(len(children)):
-                if children[i]['contentHandler'] == content_types['assignments']:
-                    acc.append(children[i])
-                elif children[i]['contentHandler'] == content_types['folder']:
-                    worklist.append(children[i])
+                # TODO: Add list of children instead of bool
+                if key in children[i] and children[i][key] == True:
+                # if children[i]['contentHandler'] == content_types['folder']:
+                    # child = Node(children[i], True, parent)
+                    child = Node2(children[i])
+                    parent.children.append(child)
+                    worklist.append(child)
+                    # acc.append(child)
+                else:
+                    child = Node2(children[i])
+                    parent.children.append(child)
+                    # child = Node(children[i], False, parent)
+                    # acc.append(child)
             return get_children(session, worklist, url, acc)
 
-
-
 def create_tree(root, nodes):
     parents = []
     root_node = Nd(root.data['title'])
     parent = root_node
     parents.append(parent)
-    colors = dict()
     folders = dict()
-    colors[root.data['title']] = True
     folders[root.data['title']] = root.data['id']
 
     for i in range(len(nodes)):
-        # if (nodes[i].has_children and nodes[i] not in parents):
         id = nodes[i].data['id']
         title = nodes[i].data['title']
         if (nodes[i].has_children):
@@ -170,12 +178,6 @@ def create_tree(root, nodes):
             folders[title] = id
             parents.append(node)
 
-        # elif (nodes[i].has_children):
-        #     for parent in parents:
-        #         if (nodes[i].parent.data['title'] == parent):
-        #             node = Nd(node.data['title'], parent)
-        #             folders[title] == id 
-        # if (nodes[i].has_children is False):
         else:
             for parent in parents:
                 if (parent.name == nodes[i].parent.data['title']):
@@ -215,35 +217,27 @@ def get_contents(course_id: str, folder_id=None):
             res = get_children(session, worklist, url, [])
             create_tree(root, res)
         else:
-            data = response.json()['results']
-            for root in data:
-                data = response.json()['results']
-                root = Node(root, True)
+            folders = response.json()['results']
+            root = None
+            for folder in folders:
+                # root = Node(folder, True)
+                root = Node2(folder)
                 worklist = [root]
-                res = get_children(session, worklist, url, [])
-                create_tree(root, res)
+                get_children2(session, worklist, url, [])
+                print(root.data['title'])
+                # create_tree(root, res)
+            for child in root.children:
+                print(child.data['title'])
+            
     end = time.time()
 
     print(f'\ndownload time: {end - start} seconds')
 
-@click.command(name='get-assignments')
-@click.argument('course-id', default='_27251_1')
-def get_assignments(course_id):
-    '''
-    Get the assignments
-    '''
-    session = requests.Session()
-    url = f'{base_url}courses/{course_id}/contents'
-    response = session.get(url, cookies = cli.cookies)
-    if check_response(response) == False:
-        print(url)
-        return
-    else:
-        data = response.json()['results']
-        res = []
-        for root in data:
-            root = Node(root, True)
-            worklist = [root]
-            res.append(traverse_assignments(session, worklist, url, []))
-        print(res)
 
+def list_tree(root, contents):
+    for content in contents:
+        parent = Nd(content.parent.data['title'])
+        this = Nd(content.data['title'], parent)
+    
+    for pre, fill, node in RenderTree(root_node):
+        print("%s%s" % (pre, node.name))
diff --git a/bbcli/entities/Node2.py b/bbcli/entities/Node2.py
new file mode 100644
index 0000000000000000000000000000000000000000..d717e56f73e963720f6ef432a182a99d29881483
--- /dev/null
+++ b/bbcli/entities/Node2.py
@@ -0,0 +1,10 @@
+class Node2:
+	def __init__(self, data, children=[]):
+		self.data = data
+		self.children = children
+
+	def __str__(self, level=0):
+		ret = '\t'*level+self.data['title']+'\n'
+		for child in self.children:
+			ret += child.__str__(level+1)
+		return ret
\ No newline at end of file