improved client-side prediction