integrating
do care about old compiler
fix ASYNCIFY and supporting functions