Preheat oven to 350° Line a cupcake tin with cupcake liners.
In a large mixing bowl, cream together butter and sugar.
Beat in eggs and vanilla.
Mix in flour, milk, baking powder and salt until thoroughly combined. Do not overmix.
Spoon batter into cupcake liners until 3/4 full. Do not over fill.
Bake for 16 - 20 minutes or until tops spring back when pressed or toothpick inserted in center comes out clean.
Let cupcakes rest in pan for a few minutes before removing to wire rack.
Cool completely before frosting.
In a mixing bowl, cream butter.
Add in powdered sugar, cocoa powder, milk and vanilla extract.
Beat, scraping sides, until creamy and combined.
If you would like frosting a little stiffer, beat in additional powdered sugar until you reach desired consistency.
Pipe or spread onto cupcakes.