improved subscription handling