Preheat the oven to 180 degrees C / 356 F, I use a fan assisted electric oven, please adjust according to your own oven.
Place the sultanas in a small bowl and cover with the orange juice, leave to sit in the juice for about 30 minutes.
Line and grease a 20in cake tin
Add the flour, spices, sugar and baking powder to a large mixing bowl and mix well.
In another bowl beat the eggs, oil and vanilla together.
Pour the egg mixture into the flour mixture and mix well, when it is incorporated fully stir in the carrots, walnuts and the drained sultanas.
Pour the mixture into the prepared tin and bake on the middle shelf of the oven for 50 - 55 minutes, turning half way through cooking. The time will depend on your oven so do check the cake around the 50 minute mark.
The cake is done when you pierce it with a metal skewer and it comes out clean.
Leave it to cool in the tin for 10 minutes then transfer to a wire rack to cool. When the cake has cooled completely cut it in half trough the middle.
To make the orange cream cheese frosting :
Using an electric whisk beat the butter and cream cheese together, then add the icing sugar in two batches, gently stir it in. It should be smooth and lump free.
When the sugar has been added stir in the orange zest and juice.
Once the cake has cooled completely spread about two thirds of the frosting on the bottom half of the cake, place the top half of the cake carefully on the frosting then spread the remaining frosting on top of the cake.
Sprinkle the chopped walnuts around the edge of the frosting.
Place the cake in the fridge for an hour to firm up then serve.