added equilibrium solver