added role switching