separate data access layer