generic dao completed