Speed this up with multi-update