Add word tokeniser, align ranges with nodes

* I’m not sure if this works, really. but whatever