Lots of validation refactoring and hooked up profile update.