How to combine circular two shapes and subdivision surface properly and curved cylinder cap? I can't find a way to combine the two circular shapes, and then subdivision surface properly. 
The bottom circle is curved so the face has to be made out of horizontal quads.

Subsurf a curved cylinder cap???
It looks like this kind of topology could work, tell me if it's ok: