don't use `str`