algorithm works better now, empirically