Improved `update`