add some logic for data manager