also replaced macros with requires in updates