initial commit with a bunch of macros