basic ast and tests