a lot of stuff here and there
merge conflict resolution