separate priv macros