force to invoke virtual call very rarely; consider join code to Disasm.hpp class