changed ast and parser