Intermediate commit : add FieldAut logic in kernel layer + add FieldAut
logic for type A + change class hierarchy