modified macro to match my implementation of the system