modify to use annotations for the Field.