Preheat oven to 375. Grease and Flour a 9x11 pan or 2 8 inch round pans.
In a large bowl beat together eggs, oil, sugar and vanilla. Mix in flour, baking soda, salt, baking powder and cinnamon. Stir in carrots. Fold in nuts, if desired. Pour into prepared pan(s).
Bake in preheated oven for 30 to 50 minutes. Check after 30 minutes with a toothpick. If toothpick is clean, cake is done.
Let cool in pan(s) for an additional 10 minutes. Turn out onto a wire cooling rack and cool completely.
To make icing, use a medium bowl and mix butter, cream cheese, confectioner's sugar and vanilla until smooth. You may add chopped nuts to icing now or sprinkle later over the top of the cake (optional).
After the cake is completely cooled, ice the cake. If the chopped nuts were not added to the icing earlier sprinkle them over the iced cake (optional).