Added macros, dont use struct