Refact to avoid concurrent update exceptions