can take string-input