improve performance (replace angular.copy to underscore.extend)