added authentication and roles