Refactor `update` to reduce wasted lookups
Merge pull request #2261 from caseywebdev/update

Refactor `update` to reduce wasted lookups