diff --git a/expressions.txt b/expressions.txt
index 8ef200ff4ffbcf61172ce1ee8f1ba17c63a6da3f..e06786f8951366a167d5dbc357fae99c9036adca 100644
--- a/expressions.txt
+++ b/expressions.txt
@@ -1 +1,3 @@
-1 + xy^2 - (31 * x)y
\ No newline at end of file
+1 + xy^2 - (31 * x)y
+1 + x^2 - (3 * x)
+2x + 0,5x^2 - 1
\ No newline at end of file
diff --git a/src/Application.java b/src/Application.java
index f9d586f369030370a6e91f41e58450c8fb3f0081..dedb78af92d61ca2c689a4d199698c80185aaab5 100644
--- a/src/Application.java
+++ b/src/Application.java
@@ -1,8 +1,27 @@
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.io.IOException;
 import java.util.Arrays;
 import java.util.List;
 
 public class Application {
     public static void main(String[] args) {
+        BufferedReader reader;
+        String datapath = "expressions.txt";
+        try {
+            System.out.println("Reading the file:");
+            reader = new BufferedReader(new FileReader(datapath));
+            String line = reader.readLine();
+            while(line != null) {
+                System.out.println(line);
+                line = reader.readLine();
+            }
+            System.out.println();
+            reader.close();
+        }
+        catch (IOException e ) {
+            e.printStackTrace();
+        }
         //List with a fitting String to be parsed into multiple tokens
         List<String> test = Arrays.asList("1 + xy^2 - (31 * x)y");
         //Iterates through every String
diff --git a/src/Parser.java b/src/Parser.java
index 358b1879fbcad3a41fb10d98d012282b86728377..7e341d139f3c641d49ecf816ceb2290bca194520 100644
--- a/src/Parser.java
+++ b/src/Parser.java
@@ -84,7 +84,7 @@ public class Parser {
     //parses a list of tokens into a value
     private Optional<Expression> parseValue(List<Lexer.Token> ts) throws ParserException {
         if (ts.isEmpty()) {
-            throw new ParserException("SyntaxError: expected a number");
+            throw new ParserException("RuntimeException: empty token list");
         }
         if (ts.get(0).getType() != Lexer.TokenType.NUMBER) {
             return Optional.empty();
@@ -114,13 +114,13 @@ public class Parser {
     //parses a decimal of a list of tokens & a string
     private Expression parseDecimal(List<Lexer.Token> ts, String data) throws ParserException {
         if(ts.size()<1) {
-            throw new ParserException("SyntaxError: ");
+            throw new ParserException("RuntimeException: empty token list");
         }
         if(ts.get(0).getType() != Lexer.TokenType.SPECIAL) {
-            throw new ParserException("");
+            throw new ParserException("SyntaxException: expected a comma");
         }
         if(ts.get(1).getType() != Lexer.TokenType.NUMBER) {
-            throw new ParserException("");
+            throw new ParserException("SyntaxException: expected a number after a comma");
         }
         Number beforeDot = (Number) parseNumber(data);
         ts.remove(0);