refine the ui framework