Updated update()