restructure the code since the return type of promise.Future.Get() be changed to (interface{}, error)