major refactoring -- added authentication with google