introduces data access layer infrastructure