Updated to the latest, Sorry about the massive changes.