now gui changes happens in gui thread