Сделал почти все. Теперь это рабочяя версия