Curved face with square windows problem

I am modeling a simplified version of the Graf Zeppelin, and I’m having trouble with the gondola. I want the windows to basically look like this, with a perfectly smooth front and square windows:

http://antique-images.com/images/Airships/01/AS43%20The%20Graf%20Zepplin%20on%20the%20ground.jpg

But I am having trouble controlling the subsurf modifier. If I simply leave everything subsurfed and take out square window holes, they come out circular. If I crease the edges, I get weird effects around the window area. This is the best I’ve been able to come up with, but I still don’t like how flat the window frames look and the fact that there are creases around them.

http://farm3.static.flickr.com/2511/3893323063_1bbd9e38b1_o.jpg

Start off with a cylinder with way, way more sides and cut your windows into that. The more sides you have, the less you’ll have of this problem.

here is a little trick
with subsurf you can add ertex near a corner and bring it close to the corner vertex

that will make it almost square

hope it helps

Thanks for the suggestions! I am currently trying making it with a high detail cylinder, and I’ll try adding more loops to the original, too.