project::data refactoring