implement data manager