dialog extracted to explicit class