update with collision