change to use macro