Splitted the User.Update function into small subfunctions, renamed Usergroup -> Rank