add ui logic