dont repeat matrix construction