Preheat oven to 325°F.
Use shortening or butter to grease three 8-inch round cake pans. Use parchment paper, cut into circles, if desired. Flour cake pans. (Or make it simple and use Wax Paper Liner for Cake Pans
In a large bowl, cream 1/2 cup of butter, shortening and sugar together. Separate eggs; be sure to keep both yolks and whites. Set whites aside in a separate bowl. Beat in egg yolks, one at a time, to creamed ingredients. Stir in vanilla.
In a separate bowl, sift flour, baking soda and 1/2 cup of cocoa. Slowly add mixture to creamed ingredients along with buttermilk. Stir in chopped hazelnuts and coconut.
Beat egg whites well, until stiff peaks form. Fold egg whites into the batter and pour into lined, cake pans. Bake at 325 F for approximately 25 to 30 minutes. Cakes must cool before icing.
Meanwhile, prepare the icing by creaming the cream cheese and butter in a large bowl. In another bowl, sift powdered sugar and 1/2 cup cocoa together. Add to cream cheese and butter mixture, slowly. Beat until thoroughly creamed. Mix in vanilla.
Once cakes have cooled, remove from cake pans and form a three-layered cake, icing in-between each layer. Sprinkle the top with remaining hazelnuts.