should use sub rather than tr