added DCO ID generation function