diff --git a/src/steputils/p21.py b/src/steputils/p21.py
index c8dd28b..a7f3de1 100644
--- a/src/steputils/p21.py
+++ b/src/steputils/p21.py
@@ -33,6 +33,7 @@ FIRST_KEYWORD_CHAR = ascii_uppercase + '_'
 KEYWORD_CHARS = ascii_letters + digits + '_-'  # should accept ISO-10303-21 and lower case letters
 
 STRING_CHARS = ascii_letters + digits + ' _' + SPECIAL + BACKSLASH
+IGNORE_DELIMETERS = "\n\r\f\t"
 FIRST_NUMBER_CHARS = '-+01234567890'
 NUMBER_CHARS = FIRST_NUMBER_CHARS + '.eE'
 FIRST_ENUM_CHARS = ascii_uppercase + '_.'
@@ -553,6 +554,8 @@ class Lexer:
                     return ''.join(s)
             elif current in STRING_CHARS:
                 s.append(b.get())
+            elif current in IGNORE_DELIMETERS:
+                b.skip()
             else:
                 raise ParseError(f'Found invalid character in string "{current}".')
 

diff --git a/tests/p21/test_p21_lexer.py b/tests/p21/test_p21_lexer.py
index 53cda6c..787b453 100644
--- a/tests/p21/test_p21_lexer.py
+++ b/tests/p21/test_p21_lexer.py
@@ -63,9 +63,7 @@ def test_lexer_string_with_enclosed_comments():
 
 
 def test_lexer_string_across_lines():
-    # strings across lines are not allowed
-    with pytest.raises(p21.ParseError):
-        list(p21.Lexer("'\n',"))
+    assert list(p21.Lexer("'multi\nline',")) == ['multiline', ',']
 
 
 def test_lexer_empty_string():

.step file parsing error
I am unable to read a step file.
These .step file are coming from Rhino & Creo professional tools
I keep getting the following error.

```
File "D:\Progam Files\Python\python v3.7.0\lib\site-packages\steputils\p21.py", line 1025, in readfile
    return load(fp)
  File "D:\Progam Files\Python\python v3.7.0\lib\site-packages\steputils\p21.py", line 1019, in load
    return loads(content)
  File "D:\Progam Files\Python\python v3.7.0\lib\site-packages\steputils\p21.py", line 1003, in loads
    return Parser(lexer).parse()
  File "D:\Progam Files\Python\python v3.7.0\lib\site-packages\steputils\p21.py", line 633, in __init__
    self.tokens = list(lexer.parse())
  File "D:\Progam Files\Python\python v3.7.0\lib\site-packages\steputils\p21.py", line 505, in parse
    yield step_decoder(self.string())  # str
  File "D:\Progam Files\Python\python v3.7.0\lib\site-packages\steputils\p21.py", line 557, in string
    raise ParseError(f'Found invalid character in string "{current}".')
steputils.exceptions.ParseError: Found invalid character in string "
".
```

When I open the .stp files in notepad++ text editor, the encoding is UTF-8. 
I tried changing the file encoding to ISO 8859-1 without any success. 

tests/p21/test_p21_lexer.py::test_lexer_string_across_lines
tests/p21/test_p21_lexer.py::test_lexer_skip_whitespace tests/p21/test_p21_lexer.py::test_lexer_skip_comments tests/p21/test_p21_lexer.py::test_lexer_skip_comments_nl tests/p21/test_p21_lexer.py::test_lexer_missing_end_of_comment tests/p21/test_p21_lexer.py::test_lexer_invalid_keywords tests/p21/test_p21_lexer.py::test_lexer_simple_string tests/p21/test_p21_lexer.py::test_lexer_string_with_special_chars tests/p21/test_p21_lexer.py::test_lexer_string_with_escaped_apostrophe tests/p21/test_p21_lexer.py::test_lexer_string_with_enclosed_comments tests/p21/test_p21_lexer.py::test_lexer_empty_string tests/p21/test_p21_lexer.py::test_lexer_binary tests/p21/test_p21_lexer.py::test_lexer_binary_error tests/p21/test_p21_lexer.py::test_lexer_number tests/p21/test_p21_lexer.py::test_lexer_number_error tests/p21/test_p21_lexer.py::test_lexer_enum tests/p21/test_p21_lexer.py::test_lexer_enum_error tests/p21/test_p21_lexer.py::test_lexer_keyword tests/p21/test_p21_lexer.py::test_lexer_keyword_error tests/p21/test_p21_lexer.py::test_lexer_reference tests/p21/test_p21_lexer.py::test_lexer_reference_error tests/p21/test_p21_lexer.py::test_keyword_matcher