implement dao class