revamp hide and transitions for perf