update function & ui design