dynamic solver