Почти работает, много изменений