Переработан в виде модуля.