Немного подправил базовый класс