separate dao data access from file access