good tokenization
add parser and move some definitions to the parser