Cream together butter and shortening.
Add egg yolks 1 at time. Beat until smooth.
Combine flour and soda. Add to creamed mixture alternating with buttermilk.
Add vanilla, coconut and nuts.
Fold in egg whites.
Bake in 3 greased and floured cake pans at 300° for 20- 25 minutes.
Beat cream cheese and butter.
Add powdered sugar and vanilla.
Mix well, add milk a little at a time if too thick.
Spread on cooled cake layers, stack layers and spread on the outside.
Sprinkle with nuts.