//todo implement promise task