add retry & promise: STILL WORKING, do not publish