portal UI refactor 60%