Started rewritting the parser