Split engine based on solver