added lexing