changed tokens added proper lexing