solution defined