fixed rules & lexer