just cache non-array values
fix model
no more special case for joint matrix