Убрал лишнее, оптимизировал подклассы провайдеров