restructuring and complete ui