add better error reporting (line, col)