Some final tweaks to contract on update()