common macros, base VC class