async update collab part 1: backend