Large Update with various changes