inserts/updates happen on private queue