generalize modal view