some renaming and change method description
merge with conflicts resolved