Rewrote most of the Field class and adjusted the coode base to the changes.
There was very little testing carried on (due to the lack of time).