diff --git a/linked_lists/LinkedListFIFO.py b/linked_lists/LinkedListFIFO.py
new file mode 100644
index 0000000..f9d2c3c
--- /dev/null
+++ b/linked_lists/LinkedListFIFO.py
@@ -0,0 +1,82 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+# author: bt3gl
+
+class Node():
+ """Implementation of a Node for a binary tree"""
+
+ def __init__(self, value=None):
+ self.value = value
+ self.left = None
+ self.right = None
+
+ def __repr__(self):
+ """Prints the node"""
+ return f'{self.value}'
+
+
+class LinkedListFIFO:
+ '''A Linked-List class with a first-in-first-out logic'''
+
+ def __init__(self):
+ self.head = None
+ self.tail = None
+ self.length = 0
+
+ def add_first(self, value):
+ self.length = 1
+ node = Node(value)
+ self.head = node
+ self.tail = node
+
+ def delete_first(self):
+ self.length = 0
+ self.head = None
+ self.tail = None
+
+ def add(self, value):
+ self.length += 1
+ node = Node(value)
+ if self.tail:
+ self.tail.right = node
+ self.tail = node
+
+ def _delete(self, node):
+ if not self.head or not self.head.pointer:
+ self.delete_first()
+ else:
+ node, prev, i = self._find(index)
+ if i == index and node:
+ self.length -= 1
+ if i == 0 or not prev:
+ self.head = node.pointer
+ else:
+ prev.pointer = node.pointer
+ if not self.tail == node:
+ self.tail = prev
+
+ def find(self, index):
+ prev = None
+ node = self.head
+ i = 0
+ while node and i < index:
+ prev = node
+ node = node.right
+ i += 1
+ return node, prev, i
+
+
+if __name__ == '__main__':
+
+ print('Linked List FIFO')
+ ll = LinkedListFIFO()
+ print(f'Add 1: {ll.add(1)}')
+ print(f'Add 2: {ll.add(2)}')
+ print(f'Add 3: {ll.add(3)}')
+
+ print(f'Length: {ll.length}')
+ print(f'Find 1: {ll.find(1)}')
+
+ print(f'Delete 1: {ll._delete(1)}')
+ print(f'Length: {ll.length}')
+ print(f'Find 1: {ll.find(1)}')
diff --git a/linked_lists/README.md b/linked_lists/README.md
index e69de29..6d61fb2 100644
--- a/linked_lists/README.md
+++ b/linked_lists/README.md
@@ -0,0 +1,23 @@
+## Linked List
+
+
+
+### `LinkedListFIFO.py`
+
+
+
+```python
+python LinkedListFIFO.py
+
+Linked List FIFO
+Add 1: None
+Add 2: Nonew
+Add 3: None
+Length: 3
+Find 1: (None, None, 0)
+Delete 1: None
+Length: 0
+Find 1: (None, None, 0)
+```
+
+
diff --git a/trees_and_graphs/BinaryTree.py b/trees_and_graphs/BinaryTree.py
index ce75eaf..4308d6c 100644
--- a/trees_and_graphs/BinaryTree.py
+++ b/trees_and_graphs/BinaryTree.py
@@ -20,7 +20,7 @@ class Node(object):
self.right = new_node
else:
self.left = self.left.add(value)
- return self # without this, it doesn't add!
+ return self
def search(self, item):
if self.value == item: