almost finish splitting out controls for simplex solver into separate classes