Given two independent weak random sources X, Y, with the same length l and min-entropies bx,by whose sum is greater than l + Ω(polylog(l/ε)), we construct a deterministic two-source extractor (aka "blender") that extracts max(bx,by) + (bx + by - l - 41og(1/ε)) bits which are ε-close to uniform. In contrast, best previously published construction  extracted at most 1/2(bx+by-l-2 log(1/ε)) bits. Our main technical tool is a construction of a strong two-source extractor that extracts (bx+by-l)-2log(1/ε) bits which are ε-close to being uniform and independent of one of the sources (aka "strong blender"), so that they can later be reused as a seed to a seeded extractor. Our strong two-source extractor construction improves the best previously published construction of such strong blenders  by a factor of 2, applies to more sources X and Y, and is considerably simpler than the latter. Our methodology also unifies several of the previous two-source extractor constructions from the literature.