auto hightlight active category, extends instead of overide, use observer instead of all to solve, both backend and frontend