add base dao interface and base implement class