Update with more efficient method