Preheat oven to 350 degrees. Generously grease and lightly flour a nonstick bundt cake pan.
Using an electric mixer, beat the cake mix, pudding, sour cream, eggs, oil, 1 teaspoon lemon zest and 4 tablespoons juice, lemon extract, and water until just combined. Do not over-mix.
Pour the mixture and spread evenly in the bundt cake pan. Bake for 45-50 minutes.
Let cool for 10 minutes and then invert the cake onto a cake stand or plate.
In a small bowl whisk together 1/3 cup fresh lemon juice and 1/3 cup white sugar. Brush this mixture generously over the cake being slow to allow it to soak in. Do this while it is still pretty hot and then let the cake cool completely before frosting.
In a large bowl, whip the butter with 1 and 1/2 teaspoons lemon zest on medium-high speed until very fluffy.
Mix in 1 cup powdered sugar, 1 tablespoon lemon juice, heavy cream, vanilla, and lemon extract. Add remaining 2 cups powdered sugar, then whip mixture until very fluffy (about 5 minutes).
Pipe the frosting over the cake (or spread it over it)