Extracted weighting into it's own method and separating terms on one or more