clean the Field interface
create implementation