update with better shim support