dataedit refactoring, basic behavior