field: cover all cases for fields
field: add a method to get nested fields back