I'm trying to make a shower drain and am using a Boolean modifier into a very flat cylinder. I was able to get the circles where I wanted them, but the geometry is weird. When I add a subdivision surface modifier, it gets all messed up. I've been trying to dissolve edges, and re-mesh but I just can't figure out what to do now. And frankly, I don't really understand the root of this problem. Any thoughts?