add data manager
refactoring