Preheat oven to 350°F (175°C)
Grease and line two 8-inch (20 cm) cake pans
In a bowl, whisk together flour, baking powder, and salt
In another bowl, beat butter (or oil) and sugar until light and fluffy
Beat in eggs one at a time
Mix in vanilla (and any flavoring)
Alternate adding dry ingredients and milk (or buttermilk) to the wet mixture, mixing until just combined
Add optional chocolate chips or mix-ins
Divide batter evenly between pans
Bake 25–35 minutes, or until a toothpick comes out clean
Cool in pans 10–15 minutes
Turn out onto a rack and cool completely
Make frosting (buttercream or cream cheese) by beating butter/cream cheese with powdered sugar and flavoring, adding milk as needed for consistency
Level tops if needed
Stack layers and frost the cake
Decorate as desired
Refrigerate 30–60 minutes if frosting is soft before slicing
