Make it independent of the tokeniser