add async module dependecs
add test

todo: fix rely test fail
pass test
pass test
pass test