macro expansion case