https://www.zangdars.com/solving-advanced-thermodynamic-problems/