completed - task : directly use dao without interface