extract cupcake into a separate partial