how does shivering generate heat