use function reload to replace typeid judge