Lots more fields calculated, code simplified.