and this seems to be the reasons of ui hangs - never call this on ui thread