async shim almost complete. just need more tests for real 3rd party shims