add macro defdynamic