modalView: add modal view and tests