thinking about removing scat
compile macros on demand