whoa.  recursive macro is bad.