track line & column changes, implement a bit of parser