refactoring DiakDataManager