Updated and Combined everything