Removed macro based implementation