don't use EShell.register