Preheat oven to 160 degrees C. Grease and flour 2 sandwich tins around 18cm to 21cm diameter.
Beat the sugar, egg and oil together until smooth. Then stir in yoghurt.
Sift the flour and cornflour together. Stir in cinnamon.
Mix the wet and dry ingredients together then add the carrot, zest of lemon and orange, vanilla essence and if using the walnuts and coconut. Fold everything carefully until the mixture is smooth.
Pour the mixture into the prepared tins. Carefully drop the tins on a hard surface to let the air out.
Bake the cakes for 10 minutes then turn up the temperature to 190 degrees C for another 10 minutes. Cake is ready when a skewer inserted into the middle comes out clean. Cool cakes completely before icing.
Icing: Mix together the cream cheese and icing sugar until smooth. Spread on top of one cake, then lay the second cake on top. Spread icing over both and dust with cocoa powder if desired.