Немного изменил. Добавил возможность изменения тестовой строки. Дописал коментарии.