Refactored DAO layer