decorator hide then show