dialog implemented as a dialog