need to handle the visibility