Variables need to go before macros otherwise the code doesn't compile