add helper to generate dialog interfaces