data refactor