modify token generation