better button hide/show fix