add support for different dialog types