refactor github into full class