completed async and sync