Sprinkle yeast over warm water in a large bowl; stir briefly.
Let stand until foamy (about 5 minutes).
Stir in milk, sugar, butter, salt, cardamom, eggs, and lemon peel.
Using electric mixer (with a paddle attachment if you have one) or a heavy spoon, add 2 cups of the flour, 1 cup at a time, beating well after addition.
Then eat on medium speed for 3 minutes.
Add 1 1/4 cups more flour; beat until combined.
Scrape dough out onto a lightly floured board and knead until smooth (5 to 10 minutes) adding more flour as needed to prevent sticking.
Place in a greased bowl; turn over to grease top.
Cover with plastic wrap and let rise in a warm place until doubled (about 1 1/2 hours).
Meanwhile, prepare filling.
In a medium-size bowl, combine butter,flour and sugar.
Beat until smooth.
Stir in almonds, dried cranberries, lemon peep, and almond extract.
Cover and refrigerate.
Punch doubled dough down and knead briefly on a lightly floured board to release ari.
Roll into a 9- by 30-inch rectangle.
Crumble filling dough to within 1 inch of edges.
Beginning at long side, tightly roll up dough, pinching edge against loaf to seal.
With a sharp knife, cut roll in half lengthwise, carefully turn cut sides up.
Loosely twist ropes around each other, keeping cut side up.
Transfer to a greased and floured baking sheet and shape into a 10-inch ring, pinching ends together to seal.
Let rise, uncovered, in a warm place until puffy (45 to 60 minutes).
Bake in a 375°F oven until lightly browned (about 20 minutes).
Transfer to a rack and let cool briefly.
Meanwhile, prepare sugar glaze.
In a small bow, combine powdered sugar, lemon juice and 1 tablespoon water; stir until smooth.
Drizzle over warm bread.