an empty string can be a valid output