refactor oauth