pub/sub and datastore