you should parse all the data in background, not in UI thread