Also changed internalDegreesOfFreedom to be an integer type
Now using memory offsets to calculate transfer block sizes rather than sum of 'sizeof' to ensure word alignment is accounted for