refactor refresh token