macro defdynamic