Trying to convince myself that its worth refactoring the matrix construction