separating foreign key and m2m updates / saving
deal with merge conflicts