convert zeppelin to use promises