refactored DAO package