Since this runs on a background thread, and is also a non crucial task, we can enclose it all in try-catch