shim and tests