- Making the Cake 
- Preheat oven to 160C (320F). Grease and flour two 20cm (8-inch) round cake pans. 
- In a large bowl, whisk together flour, baking soda, cinnamon, nutmeg, ginger, and salt. 
- In a separate bowl, whisk together oil, sugar, eggs, and vanilla extract until well combined. 
- Add the wet ingredients to the dry ingredients and mix until just combined. Do not overmix. 
- Fold in grated carrots, nuts, and raisins (if using). 
- Divide the batter evenly between the prepared cake pans. 
- Bake for 50-55 minutes, or until a wooden skewer inserted into the center comes out clean. 
- Let the cakes cool in the pans for 10 minutes before inverting them onto a wire rack to cool completely. 
- Making the Cream Cheese Frosting 
- In a large bowl, beat the softened butter and cream cheese together until smooth and creamy. 
- Gradually add the sifted powdered sugar, beating until smooth and well combined. 
- Stir in the vanilla extract. 
- Assembling the Cake 
- Once the cakes are completely cool, trim the tops to create a flat surface if necessary. 
- Place one cake layer on a serving plate and spread with a generous layer of cream cheese frosting. 
- Top with the second cake layer and frost the top and sides of the cake with the remaining frosting. 
- Decorate as desired (e.g., with chopped nuts, carrot shavings). 
- Refrigerate for at least 30 minutes to allow the frosting to set before serving. 
- Optional Tips: For a richer flavor, brown the butter for the frosting before softening. Substitute allspice for any of the other spices. If you don't have cake pans, a 9x13 inch baking pan can be used, adjust baking time accordingly.