update() is simplified, no need for the block argument anymore