callback for items in viewport