more data refactor