issue #15 - refactor Field