change dialog concept. add abstract dialog