redesign style refactor