minimal is better
better implementation of unequal merges
normalization of weights to 1 and no extraneous cols in output