updates best in place