fixing bad use of return_macro