bugfix: currentUser is not placed at the first
adapt to new IsPasswordValid IsUsernameValid interface
bugfix: can't set user icon correctly