I made a circular window along a curved surface with Subdivision Surface modifier applied.[![enter image description here][1]][1]
The bottom edge seems fine, however the top edge is crimped and somewhat distorted, the top edge also forms a lip which projects away from the mesh and is visible when in front view;
and here is the underlying geometry, which as far as I can tell is all quads
How do I retopologise to fix this, if that is at all possible? How do I avoid this problem in the future?
Update: The topology shown here has been modified in that I deleted the quad faces around the circle. However I still don't know how to connect the circle to the outer edge loop smoothly.
.blend: