added MACROS.hpp