start creating abstract dao model