fit for self
merge conflict