port redo to parser 2