work on tokens and literals