Flatten out the butter using a rolling so that it is about 5mm thick, and then put the butter back into the fridge to chill.
Place the flour, caster sugar, salt and yeast in a bowl and give it a slow brief mix until all the ingredients are dispersed. Now make a well and pour in the warm milk and mix until it forms rough dough. Now knead the dough on a lightly floured work surface for about 5-10 minutes or until the dough looks smooth and clear with a good elasticity. Now place the dough in a large lightly greased bowl and cover with a plastic bag and place in a warm area until the dough has doubled in size.
Empty the dough onto a work surface and knead for a further minute and then let it rest for 3 minutes. Now make sure you have a well floured work surface and roll the dough into a big rectangle shape making it about 2cm thick, now cover two thirds of the rectangle dough with the flattened butter. Using the 1 third of the dough that is uncovered fold it over so that it is now half way in the middle of the dough and using the other half of the dough covered in butter fold that right over the top and now roll out the dough. Repeat this folding method another 3 times then covers and refrigerate the dough for 1 hour.
Roll out the dough so it is about 2/3cm thick then either using a template a cutter or just a knife cut out large triangle dough shapes. Now starting at the top of the triangle roll it towards you making a croissant shape and glaze it using milk and egg. Now place these on a baking tray and leave until they have doubled in size, once doubled in size brush them with glaze again and place them in a pre-heated oven of 200°C/400°F/Gas Mark 6 for 15-20 minutes until they look golden brown.
Once baked either serve straight away or once cooled store them in an airtight container for up to 48 hours.