enhance markDown to return promise