change visibility to the least necessary level