Final Commit! Lots of changes