Изменения из оригинала - строки 6000-7000 + немного исправлений более раннего