update docs
abstract async action factory