added subscription handling