Refactored: Use proper namespaces for abc macros