selection based on visibility
selection based on visibility