With a hand mixer on low, cream the softened butter and sugar together until it is smooth and fluffy. Add the eggs one at a time to the butter mixture still beating on low speed.
Add vanilla. Gradually add the flour and baking powder. Make sure that all the flour is mixed into the dough.
Gather the dough together and wrap in plastic wrap. Chill the dough for 1-2 hours to stiffen up the dough. (Very important step.) When the dough has been chilled for the allotted time, preheat your oven to 400°.
Divide the dough into thirds. Generously sprinkle powdered sugar (not flour) onto a clean counter top and begin rolling the dough with a rolling pin. Roll one third at a time.
Make sure to add some powdered sugar to your rolling pin and to the top of the dough to prevent it from sticking. (Keep adding a little powdered sugar as needed throughout this process.)
Roll the dough to ½ inch thick. Use cookie cutters to cut out desired shapes and set them on an ungreased cookie sheet. Make sure there is at least 1 inch between each cookie.
Position the rack in the middle of the oven. Preheat oven to 400°. Bake for 6 to 8 min. depending on the size of your cookies. If you have extra large cookies they will need to cook for 8 min. DO NOT over bake. They may not look done, but they are.
Let them cool a bit before removing them from the pan.
Chill in the refrigerator before frosting or serving. This helps the cookies to be moist and delicious.
Cream Cheese Frosting:
In a small bowl with an electric hand-held mixer, mix butter and cream cheese until soft.
Add vanilla. Beat until light and fluffy. Add powder sugar, one cup at a time. (I use 4 ½ cups.)
Beat until smooth. Add your favorite food coloring if desired.