Preheat oven to 350°F. Line an 8x8-inch baking pan with foil, parchment paper, or grease and flour pan. Set aside.

Prepare brownies. In a bowl mix together melted chocolate and oil until smooth. Beat in eggs and sugar until well combined. Fold in flour, baking powder and salt until just mixed together. Pour into prepared pan. Bake for 20-25 minutes until a tester comes out mainly clean. Remove from oven and cool completely.

Once brownies are completely cool prepare the chocolate layer. In a large bowl using an electric mixer or a stand mixer, beat butter and sugar until light and fluffy; about 2 minutes. Gradually mix in cooled chocolate. Add vanilla and mix until well combined. Add 1 egg at a time, beating for 2 minutes on medium high after each egg. Spread mixture over cooled brownies.

Using a mixer beat heavy cream until soft peaks. Add sugar and vanilla and mix until stiff peaks. Spread over chocolate layer. Sprinkle with chocolate chips or shaved chocolate pieces. Place in refrigerator for at least 1 hour until set. Slice and serve.