added VisibleElement based rendering