much cleaner github client library