add custom dialog (incomplete)