support easily toggling between linear and socp version