some ui refactor