handle visibility controll