added authentication mechanism