refac ast
refac parser API and use new AST structure