version 2.1: added method swizzling for main UM entry point