macro structure