remove abr_x_free(NULL) deflection
keep track of the last, failed, rep match
implement abr_name(s, p)