refact create new githubclient class and repo class