improve field type management