             let list: [Character] = ["?", "!", "."]
             if next.isAZ() || list.contains(next) { // TODO: check complex case
                 result.append(next)
-                index = characters.index(after: index)
+                index = self.index(after: index)
             } else if next == "[" {
                 let block = try findSquare(index)
                 index = block.index

                result.append(next)
            }

            index = characters.index(after: index)
            if !escape && next == "\"" {
                return (result, index)
            }

                return nil
            }

            index = self.index(after: index)
        }
        return nil
    }
