Implementation of DAO Layer