#4 : data access refactoring