setVisible needs work