 
             tokenCounter += 1
         }
-
-        return Double((stack.pop()?.description)!)!
+        
+        if let description = stack.pop()?.description, let result = Double(description) {
+            return result
+        } else {
+            return 0
+        }
     }
 
     func isValidExpression() -> Bool {

            return nil
        }
    }

    private func parseIntoNumbersAndOperators(from string: String) -> ([Double], [OperatorType]) {
        var numbers: [Double] = []
        var operators: [OperatorType] = []

        var stack = Stack<Token>()

        var tokenCounter = 0
        
        for token in tokens {
            if token.isOperand { stack.push(token) }
            else {
