adding authentication mechanism, documentation