initial work of tokenizer and parser