better formatting for promise directive