The deletion channel takes as input a bit string x is an element of{0, 1}(n), and deletes each bit independently with probability q, yielding a shorter string. The trace reconstruction problem is to recover an unknown string x from many independent outputs (called "traces") of the deletion channel applied to x. We show that if x is drawn uniformly at random and q < 1/2, then e(O(log1/2) n) traces suffice to reconstruct x with high probability. The previous best bound, established in 2008 by Holenstein, Mitzenmacher, Panigrahy, and Wieder [1], uses n(O(1)) traces and only applies for q less than a smaller threshold (it seems that q < 0.07 is needed). Our algorithm combines several ideas: 1) an alignment scheme for "greedily" fitting the output of the deletion channel as a subsequence of the input; 2) a version of the idea of "anchoring" used in [1]; and 3) complex analysis techniques from recent work of Nazarov and Peres [2] and De, O'Donnell, and Servedio [3].