Data adjustment now ignores certain fields

Looks much nicer. I also tidied up a bit.
Better error detection

Error detection now can cope with the number zero, may need to tweak how
strict it is.