raise if not given a string