Refactored updating