update
merge
move definition to header