#6: Начал переделывать по новой