cleanup
macro refactor
cleanup again
testing stuff
DISPATCHV