* use new data layer
* refactoring