hacky macros for IF statements, better ID generation