1. Preheat oven to 350 degrees F and spray a 9x13 inch pan with nonstick spray
2. In a large bowl, mix together cake mix according to the directions on the box.
3. Set aside
4. in another bowl, mix together ricotta cheese, eggs, sugar and vanilla until smooth.
5. pour the cake batter into the baking dish. Spread to fill the pan evenly.
6. Once the cake batter is in place, carefully pour the cheese mixture evenly over the top of the cake batter. Spread to cover cake as best as you can (the layers will switch during baking.)
7. Bake the cake for 1 hour.
8. Remove from oven and allow to cool completely before frosting.
9. To make frosting, mix together pudding mix and milk with whisk until combine. Carefully fold the cool whip into the pudding until combined.
10. Spread mixture on top of cooled cake and cover and refrigerate at least 6 hours before serving.