locked into async version before setImmediate change which breaks backwards compatibility with v0.8