new data refactor