added normalizing constants to fight underflow