initial solver structure