don't cast str, use :d