matrix contract