use macro for truth loop