An ex-vivo method for controlling at least one pump in a perfusion apparatus for delivering a fluid to at least one organ selected from the group comprising livers and kidneys through a plurality of vessels for maintaining the viability of the at least one organ, characterized in that the method comprises: controlling a pump for supplying a fluid to a first vessel of an organ and to a second vessel of an organ; and executing the control functions of a control algorithm unit provided with a control algorithm, the control algorithm providing cooperative control of a flow of fluid to the plurality of vessels, by: receiving, via a sensor interface, sensors input that measures a first parameter of the fluid flowing in the first vessel and a second parameter of the fluid flowing in the second vessel; directly controlling, by a controller, the second parameter of the fluid flowing in the second vessel to influence the first parameter of the fluid flowing in the first vessel, comparing, by a determination unit, the measured first parameter to a predetermined range for the measured first parameter to determine if the measured first parameter falls outside the predetermined range, the determination unit causing the controller to control the second parameter of the fluid flowing in the second vessel cooperatively to return the first parameter to within the predetermined range, wherein the control algorithm unit includes: the sensor interface the controller the determination unit; one or more storage units; a data interface, and a user interface, all connected by a data/control buss. controlling a pump for supplying a fluid to a first vessel of an organ and to a second vessel of an organ; and executing the control functions of a control algorithm unit provided with a control algorithm, the control algorithm providing cooperative control of a flow of fluid to the plurality of vessels, by: receiving, via a sensor interface, sensors input that measures a first parameter of the fluid flowing in the first vessel and a second parameter of the fluid flowing in the second vessel; directly controlling, by a controller, the second parameter of the fluid flowing in the second vessel to influence the first parameter of the fluid flowing in the first vessel, comparing, by a determination unit, the measured first parameter to a predetermined range for the measured first parameter to determine if the measured first parameter falls outside the predetermined range, the determination unit causing the controller to control the second parameter of the fluid flowing in the second vessel cooperatively to return the first parameter to within the predetermined range, wherein the control algorithm unit includes: the sensor interface the controller the determination unit; receiving, via a sensor interface, sensors input that measures a first parameter of the fluid flowing in the first vessel and a second parameter of the fluid flowing in the second vessel; directly controlling, by a controller, the second parameter of the fluid flowing in the second vessel to influence the first parameter of the fluid flowing in the first vessel, comparing, by a determination unit, the measured first parameter to a predetermined range for the measured first parameter to determine if the measured first parameter falls outside the predetermined range, the determination unit causing the controller to control the second parameter of the fluid flowing in the second vessel cooperatively to return the first parameter to within the predetermined range, wherein the control algorithm unit includes: the sensor interface the controller the determination unit; the sensor interface the controller the determination unit; one or more storage units; a data interface, and a user interface, all connected by a data/control buss.