add promise wrapper for github api