added token generation support