First layer: preheat oven to 350. Melt chocolate and butter together. Beat eggs and add sugar. Mix well. Stir into chocolate and butter. Mix flour and salt and blend into chocolate mixture. Add vanilla and nuts. Spread in greased 11 by 7-inch glass dish. Bake 22 minutes and let cool. Second layer: cream butter. Combine milk and pudding mix and add to butter. Gradually stir in powdered sugar. Spread on top of brownie and refrigerate until firm. Third layer: melt chocolate chips in butter and water over very low heat. When slightly cool, spread over top and refrigerate.