create dao generic