add StringInput constructor, destructor