parses tokens more accurately (still no operators!)