added support for nested strings, escapes, etc.