refact UI