only calc denoms once