Some HUGE updates, please read CHANGELOG for changes.