test async protocol