initial import
group switching logic generated via macro
internal macro names to auto syms
added tests