added multiple role functionality