Firstly, prepare the bechamel sauce.
Melt the butter over a low heat in a saucepan. Stir in the flour into the butter and mix with a whisk. Cook gently for 2 minutes until the roux is of white colour, being careful not to allow the flour to overcook which would make the sauce discoloured.
Slowly pour the milk onto the roux and increase the heat to medium. Whisk continuously until it comes to the boil and add the seasoning. Simmer, whisking, for a further 3-5 minutes to ensure the flour is cooked through. Remove from the heat and add 100g cheddar cheese. Set aside to cool.
Preheat the oven to 180˚C and line a baking tray with parchment paper.
In the meantime, roll the puff pastry on a floured surface.
Cut the puff pastry into approximately 6-8 cm squares pieces and Place on the baking tray. Set in the fridge for 10 minutes to settle.
Once cooled, remove from the refrigerator, and brush each square with egg wash. Spoon some bechamel in the centre of each square of pastry then add some ham and grated cheese. Season with extra pepper.
Lift each corner of the square and join them over the mixture to create a crown. Brush with more egg wash and sprinkle with grated parmesan.
Place in the oven and bake for 20-25 minutes until fully cooked.
Serve warm or at room temperature.