Used a macro to reduce bloat