refactor subscription service class