numeric solver API refactored