Implement visibility. 

Still need to add more interaction.