Updated to newer versions.
Make fields final where sensible