re-normalize for numerical robustness