Refactored Update