refactor google auth