Implemented Data Access layer