implement dialog.