add support for any number of tokens