add StringInput method