added object updates and client-side prediction