whole solution doc