refactor dialer controllers and mapping with inheritance