initial solver