remove redundant do
add example using async library