many changes and merge basics and methods