added authentication with multiple roles