Update Implementation