revising UI and sructure