improve performance, update UI