modify arc private interfaces and macros