added explain macro