Implementation of 3.1 Data Access Layer