work on token completion