Add two cups of the flour, sweet potatoes, cardamom, salt, and orange peel to the yeast mixture and beat well. Add the remaining flour, ½ cup at a time, stirring well after each addition. When the dough has just pulled together, turn it onto a lightly floured surface and knead until smooth, about 5 minutes. (Alternately, add 3 cups of the flour right away and just use the dough hook on your mixer to knead the dough for about five minutes).
Place the dough in a greased bowl and cover with a clean damp towel. Allow dough to rise until double, about 1 hour. In the mean time, in a small bowl, mix together the softened butter, brown sugar, cinnamon and 3 tablespoons sweet potatoes.
Roll out the dough into a 12X9 inch rectangle (I like to do this on my Silpat). Spread the dough with the cinnamon/sugar mixture. Roll up the dough and pinch seam to seal. Cut into 12 equal sized pieces and place into a greased 9X13 inch pan. Cover and let rise until doubled.
Bake at 375 ° F. for 25 to 30 minutes or until browned. Remove from oven and frost while warm.
For icing, combine cream cheese, butter, vanilla, orange juice and orange peel in a medium sized bowl. Beat well with a hand mixer. Slowly beat in enough of the powdered sugar to make the desired consistency.

