Add in missed error catching
Use new 'robust' subscription scheme