as per Nia, pulling off data event into separate thread
Better use of rxjava