lame async compat layer