Немного изменен принцип работы программы.