notes to myself
cleanup
more cleanup
consistent use of macros