almost done Text input