move macros and break apart to individual files