improve base dao