[wip]preparing for emit ast