add FieldWriter class
refactor FieldLoader, FieldWriter