implement modal to be able to re-use cross views