     $assign: (value_object) -> 
       # this = value_object, while keeping the existing attributes if they exist
       delete @relationships
+      delete @meta
       angular.merge(@, _.pick(value_object, "id", "type", "attributes", "relationships", "links", "meta"))
 
       if value_object.$datastore

      delete @attributes
      delete @relationships
      delete @links
      angular.merge(@, _.pick(value_object, "id", "type", "attributes", "relationships", "links", "meta"))      
      @.$datastore = new csDataStore(value_object.$datastore)


        (data) =>  # successCallback                    
          objects   = _.map data.data, ((i) => new @(i, datastore: datastore))
          included  = _.map data.included, (i) => 
            assoc = datastore.get(i.type, i.id)
            if assoc 
              assoc.$assign(i) 
              return assoc
            else
              resource = ResourceService.get(i.type)
              return new resource(i, datastore: datastore)            
          return objects  
        (reason) => # errorCallback
          return $q.reject(reason);
