Do not require async, some other improvements.