changed lexer according to contract