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