Refactor: field is now separated into 2 classes : pattern class array2d and modelfield