adaptive solver