use boundaries
inplace with boundaries
merge with master