basic lexing/parsing work