update ui, fix bugs