added ConstrainToViewport property