diff --git a/include/parser/Scope.h b/include/parser/Scope.h
new file mode 100644
index 0000000000000000000000000000000000000000..186f2b03ce60a5c4f8fd9d4699be50f72925e6cb
--- /dev/null
+++ b/include/parser/Scope.h
@@ -0,0 +1,4 @@
+/*
+Create a Scope class with a singleton accesor. See Logger for example of singleton.
+Create a global scope with HasMap, some util functions? key string value NodeValue / LiteralNode.
+*/
diff --git a/source/parser/Parser.cc b/source/parser/Parser.cc
index 1abb26d01128a22a16966dcccea173816f5783d7..c41db9220846074f97a00ac78a854d0c25ea02af 100644
--- a/source/parser/Parser.cc
+++ b/source/parser/Parser.cc
@@ -219,10 +219,10 @@ Node* Parser::parse_unary()
 Node* Parser::parse_factor()
 {
     LOG_DEBUG("Parse factor");
-    if (match(TokenType::IDENTIFIER))
+    if (check(TokenType::IDENTIFIER))
         return parse_identifier();
-    else if (match(TokenType::NUMB) || match(TokenType::REAL) || match(TokenType::BOOL) || match(TokenType::CHAR) ||
-             match(TokenType::TEXT))
+    else if (check(TokenType::NUMB) || check(TokenType::REAL) || check(TokenType::BOOL) || check(TokenType::CHAR) ||
+             check(TokenType::TEXT))
     {
         return parse_literal();
     }
@@ -239,7 +239,8 @@ Node* Parser::parse_factor()
 Node* Parser::parse_literal()
 {
     LOG_DEBUG("Parse literal");
-    return new LiteralNode(peek_prev().get_location(), NodeValue(peek_prev().get_value()));
+    Token literal{next()};
+    return new LiteralNode(literal.get_location(), NodeValue(literal.get_value()));
 }
 
 Node* Parser::parse_identifier()