improve: auto hide