added authentication w/tests