initial version
merge to common ancestor