Cake: preheat the oven to 180 C / Gas 4. Grease three 20cm round cake tins.
In a medium bowl, stir together the flour, cinnamon and sugar. Add the oil and eggs, mix until blended, then stir in the carrots and nuts. Divide the cake mixture evenly between the prepared tins.
Bake for 25 to 30 minutes in the preheated oven. A skewer inserted into the cakes should come out clean. Cool cakes on wire racks before removing from tins.
To make the icing: In a medium bowl, cream together the butter and cream cheese, add the sugar and cream well. Stir in the nuts and vanilla. Use to fill and ice the cooled cake layers.
Fudge: in a non stick pan melt ingredients together until sugar dissolves.
Bring to boil and simmer for 10 - 15 minutes, until it reaches 118 C. Check the fudge by dropping a bit in ice water and seeing if it forms.
Remove from the heat and beat for 10 minutes until thick and starting to set. Put in cake tin and leave to set.