local functions
merge conflict