Now using Lex Yacc