Merge UI code into main branch