should I use the runOnUiThread method instead?