Added ID generation