For the brownies:
Grease and line with parchment paper a 9 x 13 inch baking dish. Set aside.
Preheat oven to 375 degrees F.
In a medium saucepan set over low heat, add the butter and chopped chocolate. Stir until melted, about 3 -4 minutes. Remove from heat.
In a large mixing bowl beat the eggs and sugar on a high speed until just until combined, about one minute. Stir in the vanilla.
Pour in the melted chocolate and stir until combined.
Add flour and stir until just combined, don't over mix.
Pour batter into prepared pan and bake for 35 - 40 minutes or when a toothpick inserted in the center comes out clean.
Leave to cool completely on a wire rack in the pan.
For the cream cheese frosting:
Sift together the powdered sugar with the cocoa powder and set aside.
In a large mixing bowl, beat the cream cheese on high speed for 1-2 minutes. Add the butter and continue mixing on high speed for another minute. Mix in the vanilla.
Sift in the dry ingredients and continue mixing until it comes together, about a minute. Add milk or cream if using and mix for just a few seconds.
Frost brownies with the cream cheese frosting.
Can cut into squares straight away or cover and refrigerate for a while before cutting.
Store in the refrigerator.