Improved update by using angular.copy()