trad + bimpl + ast_b added (in progress)