redo hasData