whew...split up tokens and asts into two data types