add upsert operation to all objects that support it