tests pass, proceeding to refactor numeric optimization solver api