In a large bowl, stir together yeast and warm milk. Let stand for 15 minutes to dissolve.
Stir in sugar, salt and 1 cup flour.
Gradually add 2 more cups flour. Mix until dough pulls away from side of bowl. Cover and let rise in a warm place until doubled in size about 1 ½ hours.
On a lightly floured surface, knead the dough until smooth. Wrap in wax paper and refrigerate for 15 minutes.
Place 1 stick of butter between two sheets of wax paper. With a rolling pin, flatten to form two 6×4 inch rectangles, set aside.
On a floured surface, roll out dough to 12×8 inch rectangle.
Place one rectangle of butter in the center of the dough and fold the sides over on top of the butter. Press gently on the dough to seal.
Turn the dough so that to you it looks like a book.
Roll the dough gently with a rolling pin to 12×8 inches, DO NOT press the butter out. Fold in thirds again, wrap in wax paper and refrigerate for 30 minutes.
Repeat this with the next rectangle of butter.
Roll out to 12×8 two more times after each time refrigerate for 30 minutes.
Roll out dough to 13 inches wide and 1/8 inch thick. Trim the sides to neaten. Cut the dough in half and the cut each half in triangles.
Go over each triangle gently with the rolling pin to stretch out. Roll from the wide base to make a croissant.
(You can add chocolate or almond paste to the center of the croissant at this point as well.)
Place on baking sheet, cover and let rise in a warm place for 1 ½ hours. (You can refrigerate overnight and let rise and bake in the morning as well.)
Preheat the oven to 475 degrees.
Brush each croissant with the egg wash.
Bake for 2 minutes.
Lower the temperature to 375 degrees and bake for 10 to 12 minutes